gpt4 book ai didi

php - 显示 Woocommerce 我的帐户订单而不是仪表板

转载 作者:行者123 更新时间:2023-12-05 00:59:51 29 4
gpt4 key购买 nike

我正在尝试让 url.com/my-account 或短代码 [woocommerce_my_account] 显示订单,而不是显示“Hello User(not user)?”的仪表板。

我唯一拥有的是登录后重定向到订单而不是仪表板,但我随后转到/my-account 仍然显示我不想要的仪表板。

我发现的最接近我想要的代码是......

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');

但是,如果没有下订单,则显示为空白(不显示“尚未下订单。”带有商店按钮)并且我的帐户导航侧边栏不显示。我是否必须为此制作一个自定义页面模板才能添加到 woocommerce 帐户导航侧边栏中?

编辑:如果我使用 orders.php 而不是 my-orders.php,那么我可以获得“尚未下订单”。但仍然没有侧边栏导航

最佳答案

您可以尝试以下代码(这并不完美,因为它删除了对仪表板的访问权限):

add_action( 'woocommerce_account_content', 'remove_dashboard_account_default', 5 );
function remove_dashboard_account_default() {
remove_action( 'woocommerce_account_content', 'woocommerce_account_content', 10 );
add_action( 'woocommerce_account_content', 'custom_account_orders', 10 );
}


function custom_account_orders( $current_page ) {
global $wp;

if ( ! empty( $wp->query_vars ) ) {
foreach ( $wp->query_vars as $key => $value ) {
// Ignore pagename param.
if ( 'pagename' === $key ) {
continue;
}

if ( has_action( 'woocommerce_account_' . $key . '_endpoint' ) ) {
do_action( 'woocommerce_account_' . $key . '_endpoint', $value );
return;
}
}
}

$current_page = empty( $current_page ) ? 1 : absint( $current_page );
$customer_orders = wc_get_orders( apply_filters( 'woocommerce_my_account_my_orders_query', array(
'customer' => get_current_user_id(),
'page' => $current_page,
'paginate' => true,
) ) );

wc_get_template(
'myaccount/orders.php',
array(
'current_page' => absint( $current_page ),
'customer_orders' => $customer_orders,
'has_orders' => 0 < $customer_orders->total,
)
);
}

代码进入您的事件子主题(或事件主题)的 function.php 文件中。经过测试和工作。

关于php - 显示 Woocommerce 我的帐户订单而不是仪表板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52082679/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com