如何在 WooCommerce 中更改我的所有帐户端点 url

问题描述

我使用的是 Woocommerce 版本 4.8.0 我的帐户页面有问题 我想更改如下图所示的所有网址:

URLs

我在 stackoverflow 上找到了解决方案,但代码只更改了一个 URL,而不是所有 URL

add_filter('woocommerce_get_endpoint_url','woocommerce_hacks_endpoint_url_filter',10,4);
function woocommerce_hacks_endpoint_url_filter($url,$endpoint,$value,$permalink) {
    $downloads = get_option('woocommerce_myaccount_downloads_endpoint','downloads');
    if (empty($downloads) == false) {
        if ($endpoint == $downloads) {
            $url = '//example.com/customer-area/dashboard';
        }
    }
    return $url;
}

有什么帮助吗?

解决方法

可以在 WooCommerce 设置 > 高级 (选项卡) > 帐户端点中找到所有相关的端点 slug:

enter image description here

然后您可以使用 switch 语句来更改所需的帐户端点 URL,如下所示:

add_filter('woocommerce_get_endpoint_url','change_my_account_endpoint_urls',10,4);
function change_my_account_endpoint_urls( $url,$endpoint,$value,$permalink ) {
    switch($endpoint){
        case 'orders':
            $url = home_url('/customer-area/the-orders/');
            break;
        case 'downloads':
            $url = home_url('/customer-area/the-downloads/');
            break;
        case 'edit-address':
            $url = home_url('/customer-area/the-edit-address/');
            break;
        case 'edit-account':
            $url = home_url('/customer-area/new-edit-account/');
            break;
        case 'payment-methods':
            $url = home_url('/customer-area/the-payment-methods/');
            break;
    }
    return $url;
}

代码位于活动子主题(或活动主题)的functions.php 文件中。经测试有效。

要更改我的帐户 URL 本身,您需要在后端编辑我的帐户页面并更改其永久链接(编辑 URL slug)。