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

时间:2021-01-09 01:22:11

标签: php wordpress url woocommerce account

我使用的是 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;
}

有什么帮助吗?

1 个答案:

答案 0 :(得分:1)

可以在 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)。