现在, 在woocommerce中, 简码[woocommerce_my_account]显示带有所有选项卡式选项的整个”我的帐户”页面。
我只想在单独的页面上显示订单详细信息(位于”订单”标签下)。
因此, 我可以只使用woocommerce模板orders.php(woocommerce / templates / myaccount / orders.php)并在空白的新页面上使用它吗, 或者有更好的方法来解决这个问题?
#1
Woocommerce具有函数woocommerce_account_orders(), 该函数包括Orders模板。你可以按照以下步骤在单独的页面上仅显示订单。
步骤1:将以下代码放置在主题的functions.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”>”设置”>”帐户”(选项卡), 你可以在其中看到”我的帐户端点”, 在此处为”订单”字段为空。它将从前端”我的帐户”页面隐藏”订单”。
编辑:确保你检查以”客户”用户身份登录的前端, 并且客户用户至少下了一个订单, 否则那里将显示空白页面。
评论前必须登录!
注册