Wie listet man alle Produkte mit Gesamtumsatz auf?
Lesezeit: 3 Minuten
Yiedpozi
Wie listet man alle Produkte von WooCommerce mit Gesamtumsatz auf? Dieser Code gilt nur für 1 Produkt. Es funktioniert nicht, wenn ein Array auf $product gesetzt wird.
Ich möchte auf Ausgabe, Format wird wie folgt sein:
[PRODUCT_NAME] - [TOTAL_SALES]
Dafür können Sie Standard verwenden get_posts() Funktion mit benutzerdefinierten Feldparametern. Das folgende Beispiel nimmt alle Posts mit Verkäufen größer als Null in absteigender Reihenfolge auf, wenn Sie alle Produkte erhalten möchten, entfernen Sie den Meta-Abfrageteil aus dem Argumentarray. Das Ergebnis wird in einer HTML-Tabelle formatiert.
Versuchen Sie diesen Code. Es gibt Ihnen eine Ausgabe im 2-Format
<?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>
Hoffe, das wird hilfreich sein
Es ist erwähnenswert, dass Sie wahrscheinlich $wpdb->posts und $wpdb->postmeta verwenden sollten, um sicherzustellen, dass die Tabellenpräfixe immer korrekt sind, falls Sie sie später ändern, z. B. mit iThemes Security.
– Markus
20. Juni 2014 um 12:03 Uhr
Die Verwendung der wpdb-Abfrage macht die Website langsamer.
– Kevin Nguyen
11. Oktober 2016 um 15:58 Uhr
@ KevinNguyen Im obigen Szenario $wpdb->get_results gibt Ergebnisse, 80-90% schneller als get_posts. Welche Methode würden Sie vorschlagen?
– Ratnakar – StoreApps
12. Oktober 2016 um 10:44 Uhr
@Ratnakar-StoreApps danke für den nützlichen Code, ich möchte nur wissen, ob ich die Abfrage nach einer bestimmten Kategorie filtern möchte (siehe nur Produkte und Einzelverkauf einer bestimmten Kategorie).
– Amir Nikfar
22. Februar 2020 um 17:06 Uhr
10037100cookie-checkWie listet man alle Produkte mit Gesamtumsatz auf?yes