从 WooCcommerce 我的帐户中删除仪表板?

Vis*_*yan 4 woocommerce

我有一个来自客户的奇怪要求。我想删除仪表板文本。相反,我想在我的帐户页面加载时显示订单详细信息的仪表板文本。即/my-account/显示订单详细信息(内容/my-account/orders)。我尝试了一些 wp 重定向,但它不起作用。

Lou*_*s W 9

这是一个很老的问题,但因为我只是想解决同样的问题,所以我想我也可以分享我的解决方案。我做了三件事来解决这个问题:

  • 从帐户导航中删除“仪表板”
  • 登录后,将用户重定向到他们的订单屏幕。
  • woocommerce/account/dashboard.php模板复制到我的本地主题中并删除所有内容。最初我宁愿自动重定向离开此页面,但至少这样用户不会看到“Hello Bob”文本。保留此页面以显示注销确认消息也很好。

登录时,将用户发送到他们的订单屏幕(绕过仪表板),除非在结帐期间。

function WOO_login_redirect( $redirect, $user ) {

    $redirect_page_id = url_to_postid( $redirect );
    $checkout_page_id = wc_get_page_id( 'checkout' );

    if ($redirect_page_id == $checkout_page_id) {
        return $redirect;
    }

    return get_permalink(get_option('woocommerce_myaccount_page_id')) . 'orders/';

}

add_action('woocommerce_login_redirect', 'WOO_login_redirect', 10, 2);
Run Code Online (Sandbox Code Playgroud)

从帐户导航中删除仪表板。

function WOO_account_menu_items($items) {
    unset($items['dashboard']);
    return $items;            
}

add_filter ('woocommerce_account_menu_items', 'WOO_account_menu_items');
Run Code Online (Sandbox Code Playgroud)