我有一个数码产品的WooCommerce网站。已售出的产品一般有一个名为 "最近售出 "的自定义标签。但是,我想在一个特定的页面上显示所有已售出的商品,只有已售出的商品才会被显示。
我得到了一个插件 "WooCommerce Toolkit "在侧边栏显示最近售出的项目,另一个是 "Woo最近售出的项目列表",只在单个产品页面显示最近售出的项目。
我想在 "已售 "页面显示所有已售商品。
我希望它现在有意义。
add_shortcode( 'sold_products', 'wc_products_allsold' );
function wc_products_allsold() {
// Get last week orders
$all_orders = wc_get_orders(
array(
'limit' => -1,
'status' => array_map( 'wc_get_order_status_name', wc_get_is_paid_statuses() ),
'return' => 'ids',
)
);
// Sum quantities purchased
$count = 0;
$produt_sale_list = array();
foreach ( $all_orders as $all_order ) {
$order = wc_get_order( $all_order );
$items = $order->get_items();
foreach ( $items as $item ) {
$produt_sale_list[ $item->get_name() ][] = $item[ 'qty' ];
$count = $count + absint( $item[ 'qty' ] );
}
}
foreach ( $produt_sale_list as $produt_sold => $value ) {
echo "<p>$produt_sold sold: " . array_sum( $value ) . "</p>";
}
if ( $count > 0 )
echo "<p>Recent sales: $count</p>";
}
添加短码 [sold_products]
到您要显示所有已售产品的页面。