如何在WordPress WooCommerce中使用短码在特定页面显示最近售出的商品?

问题描述 投票:0回答:1

我有一个数码产品的WooCommerce网站。已售出的产品一般有一个名为 "最近售出 "的自定义标签。但是,我想在一个特定的页面上显示所有已售出的商品,只有已售出的商品才会被显示。

我得到了一个插件 "WooCommerce Toolkit "在侧边栏显示最近售出的项目,另一个是 "Woo最近售出的项目列表",只在单个产品页面显示最近售出的项目。

我想在 "已售 "页面显示所有已售商品。

我希望它现在有意义。

php wordpress woocommerce hook-woocommerce shortcode
1个回答
0
投票
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] 到您要显示所有已售产品的页面。

© www.soinside.com 2019 - 2024. All rights reserved.