Woocommerce - 如何在单独的页面上显示订单详细信息(我的帐户)

时间:2018-01-12 00:25:59

标签: php wordpress woocommerce wordpress-theming

目前,在woocommerce中,短代码[woocommerce_my_account]显示整个"我的帐户"包含所有选项卡选项的页面。

我只想在单独的页面上显示订单详情(在订单标签下找到)。

那么,我可以使用woocommerce模板orders.php(woocommerce / templates / myaccount / orders.php)并在空白的新页面上使用它,还是有更好的方法来解决它?

1 个答案:

答案 0 :(得分:4)

Woocommerce的功能woocommerce_account_orders()包含订单模板。您可以按照以下步骤在单独的页面上仅显示订单。

第1步:在主题的function.php中放置代码(如果您已创建,请放置在子主题中)。

function woocommerce_orders() {
    $user_id = get_current_user_id();
    if ($user_id == 0) {
         return do_shortcode('[woocommerce_my_account]'); 
    }else{
        ob_start();
        wc_get_template( 'myaccount/my-orders.php', array(
            'current_user'  => get_user_by( 'id', $user_id),
            'order_count'   => $order_count
         ) );
        return ob_get_clean();
    }

}
add_shortcode('woocommerce_orders', 'woocommerce_orders');

第2步:在管理员端的任意页面放置短代码[woocommerce_orders]并检查前端。

如果客户登录,

以上代码将显示订单,否则将显示woocommerce的登录/注册页面。

如果您想隐藏"订单" 标签选项,该选项位于"我的帐户"页面然后转到管理员端然后 Woocommerce>设置>帐户(标签),您可以在其中查看"我的帐户端点",清空"订单"在那里。它将隐藏"订单"从前端"我的帐户"页。

修改:确保您检查前端登录为"客户"用户和该客户用户至少有一个订单,否则将显示空白页面。