gpt4 book ai didi

php - 如何更改 Wordpress 中 WooCommerce "My Account"菜单的 URL?

转载 作者:行者123 更新时间:2023-12-03 11:23:05 25 4
gpt4 key购买 nike

我在 Wordpress 中使用 WooCommerce 插件。

我想更改 WooCommerce 创建的“我的帐户”页面上显示的“下载”链接的 URL。

enter image description here

我想把它从链接改为 /my-account/downloads//customer-area/dashboard/
我尝试添加一个自定义函数来更改菜单项的标题和端点。

function wpb_woo_my_account_order() {
$myorder = array(
'edit-account' => __( 'Change My Details', 'woocommerce' ),
'dashboard' => __( 'Dashboard', 'woocommerce' ),
'orders' => __( 'Orders', 'woocommerce' ),
'customer-area/dashboard' => __( 'Download MP4s', 'woocommerce' ),
'edit-address' => __( 'Addresses', 'woocommerce' ),
'payment-methods' => __( 'Payment Methods', 'woocommerce' ),
'customer-logout' => __( 'Logout', 'woocommerce' ),
);
return $myorder;
}
add_filter ( 'woocommerce_account_menu_items', 'wpb_woo_my_account_order' );

但是,无论我使用什么端点,它仍然嵌套在 /my-account/ 中。

我怎样才能改变它?

最佳答案

我过去这样做的方法是通过 Woocommerce woocommerce_get_endpoint_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;
}

显然,改变 $url变量以适应您的环境。我们使用 get_option() 的原因功能是因为您可以在 Woocommerce 设置中更改端点,这意味着 downloads可能不是您的特定端点。

关于php - 如何更改 Wordpress 中 WooCommerce "My Account"菜单的 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40026409/

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