working the_content tag post_title page not content all wordpress woocommerce product sales

wordpress - the_content - WP-WooCommerce enumera todos los productos con ventas totales



wordpress php get post title by id (2)

¿Cómo enumerar todos los productos de WooCommerce con ventas totales? Este código es solo para 1 producto. No funciona si se coloca una matriz en $ producto.

<?php $product = "13"; $units_sold = get_post_meta( $product, ''total_sales'', true ); echo ''<p>'' . sprintf( __( ''Units Sold: %s'', ''woocommerce'' ), $units_sold ) . ''</p>''; ?>

Quiero en la salida, el formato será así:

[PRODUCT_NAME] - [TOTAL_SALES]

Alguien sabe cómo hacer esto? Gracias. :)


Para eso puede usar la función estándar get_posts () con parámetros de campo personalizados. El siguiente ejemplo tomará todas las publicaciones con ventas mayores a cero en orden descendente, si desea obtener todos los productos, elimine la parte de la metacompetencia de la matriz de argumentos. El resultado está formateado en una tabla HTML.

$args = array( ''post_type'' => ''product'', ''posts_per_page'' => -1, ''meta_key'' => ''total_sales'', ''orderby'' => ''meta_value_num'', ''order'' => ''DESC'', ''meta_query'' => array( array( ''key'' => ''total_sales'', ''value'' => 0, ''compare'' => ''>'' ) ) ); $output = array_reduce( get_posts( $args ), function( $result, $post ) { return $result .= ''<tr><td>'' . $post->post_title . ''</td><td>'' . get_post_meta( $post->ID, ''total_sales'', true ) . ''</td></tr>''; } ); echo ''<table><thead><tr><th>'' . __( ''Product'', ''woocommerce'' ) . ''</th><th>'' . __( ''Units Sold'', ''woocommerce'' ) . ''</th></tr></thead>'' . $output . ''</table>'';


Prueba este código Te dará salida en 2 formatos

<?php global $wpdb; $results = $wpdb->get_results("SELECT p.post_title as product, pm.meta_value as total_sales FROM {$wpdb->posts} AS p LEFT JOIN {$wpdb->postmeta} AS pm ON (p.ID = pm.post_id AND pm.meta_key LIKE ''total_sales'') WHERE p.post_type LIKE ''product'' AND p.post_status LIKE ''publish''", ''ARRAY_A''); ?> <table> <tr> <th><?php _e( ''Product'' ); ?></th> <th><?php _e( ''Unit sold'' ); ?></th> </tr> <?php foreach ( $results as $result ) { echo "<tr>"; echo "<td>" . $result[''product''] . "</td>"; echo "<td>" . $result[''total_sales''] . "</td>"; echo "</tr>"; } ?> </table> <div> <p><strong><?php echo __( ''Product'' ) . '' - '' . __( ''Unit Sold'' ); ?></strong></p> <?php foreach ( $results as $result ) { echo "<p>" . $result[''product''] . '' - '' . $result[''total_sales''] . "</p>"; } ?> </div>

Esperamos que esto sea útil