我已经在网上搜索了很多,但我还没有找到答案。所以我依靠这里的Maven。
我想禁用一些woocommerce端点。网络告诉我通过woocommerce_account_menu_items
钩子取消设置woocommerce菜单项,如下所示:
add_filter ( 'woocommerce_account_menu_items', 'my_remove_my_account_links' );
function my_remove_my_account_links( $menu_links ){
/**
* Uncomment the appropriate lines to remove specific
* endpoints in the WooCommerce My Account screen.
*/
//unset( $menu_links['dashboard'] ); // Remove Dashboard
//unset( $menu_links['edit-address'] ); // Addresses
//unset( $menu_links['payment-methods'] ); // Remove Payment Methods
//unset( $menu_links['orders'] ); // Remove Orders
//unset( $menu_links['downloads'] ); // Disable Downloads
//unset( $menu_links['edit-account'] ); // Remove Account details tab
//unset( $menu_links['customer-logout'] ); // Remove Logout link
return $menu_links;
}
字符串
但这里的大问题是,这只是删除了前端的菜单链接。我仍然可以通过直接URL输入未设置的端点。所以当我输入https://example.de/myaccount/[unset-endpoint]
时,我仍然能够访问内容。
我发现了一种通过直接URL输入重定向访问的方法。我使用了位于支付方式模板(/woombase/templates/myaccount/payment-methods.php)中的钩子woocommerce_before_account_payment_methods
重定向回 Jmeter 板:
function redirect_forbidden_access_account_endpoints(){
wp_redirect(wc_get_account_endpoint_url('dashboard'));
}
add_action('woocommerce_before_account_payment_methods', 'redirect_forbidden_access_account_endpoints');
型
这就像一个魅力,但只适用于payment-methods
端点。我尝试了本机downloads
端点和自定义端点,以及没有成功。
所以我的问题是:我有一个坚实的解决方案来重定向URL访问从特定的禁用woocommerce端点到 Jmeter 板?
3条答案
按热度按时间cu6pst1q1#
你可以用这两种方法来做:
1.将Empty值放入后台设置
转到WooCommerce >设置>高级,然后在帐户端点输入中,您可以删除特定端点的值并保存空值。
这样,您将不会在帐户页面上看到端点页面或菜单项,如果您访问URL,您将在访问的URL上看到主页。
1.取消设置查询变量
您可以使用过滤器钩子取消设置查询变量。https://github.com/woocommerce/woocommerce/blob/trunk/plugins/woocommerce/includes/class-wc-query.php#L85
在
85
行中,你可以找到包含所有查询变量的函数。https://github.com/woocommerce/woocommerce/blob/trunk/plugins/woocommerce/includes/class-wc-query.php#L232
在第232行,你可以找到获取查询变量的函数,它也有过滤器。你可以使用过滤器并取消所需的端点。
如果你使用这种方法,你将不得不从导航菜单项中取消设置该项,你还需要再次保存固定链接设置。
然后,如果你通过url访问端点,你会在访问的url上看到主页。
在这两种情况下,您都不会看到404页面。
6ljaweal2#
答案是:是的,有!我的钩子错了。我现在用的是wp钩子。那法律的吗?
字符串
这就行了。
ghhaqwfi3#
重定向和从查询变量中删除端点的组合对我很有效。
如果没有重定向,端点仍然会显示来自
wp-content/plugins/woocommerce/templates/myaccount/dashboard.php
欢迎页面的内容。字符串