目前,在woocommerce中,短代码[woocommerce_my_account]
显示整个"我的帐户"包含所有选项卡选项的页面。
我只想在单独的页面上显示订单详情(在订单标签下找到)。
那么,我可以使用woocommerce模板orders.php
(woocommerce / templates / myaccount / orders.php)并在空白的新页面上使用它,还是有更好的方法来解决它?
答案 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>设置>帐户(标签),您可以在其中查看"我的帐户端点",清空"订单"在那里。它将隐藏"订单"从前端"我的帐户"页。
修改:确保您检查前端登录为"客户"用户和该客户用户至少有一个订单,否则将显示空白页面。