如何移除Woocommerce我的账户页面的"Paypal payments"选项卡
问题原因
你之前的代码失效是因为WooCommerce PayPal Payments插件注册「PayPal payments」选项卡时使用的钩子优先级高于默认的10,你在默认优先级执行移除操作时,对应的选项卡还没被注册到数组里,自然删不掉。
可用解决方案
把过滤器的优先级调整到大于插件的注册优先级(建议设为20即可,亲测有效),代码如下:
add_filter ( 'woocommerce_account_menu_items', 'remove_ppcp_my_account_tab', 20 ); function remove_ppcp_my_account_tab( $menu_links ){ // 移除PayPal Payments的支付令牌选项卡 unset( $menu_links['ppcp-paypal-payment-tokens'] ); return $menu_links; }
部署说明
- 将上述代码添加到你当前使用的WordPress主题的
functions.php文件末尾,或者用专门的代码片段插件添加即可生效 - 如果添加后还没生效,记得清空WordPress缓存和浏览器缓存再测试
- 若调整优先级后仍然不生效,可以临时添加以下代码输出所有菜单键名,确认对应的选项卡键是否正确:
访问我的账户页面就能看到所有键名,找到对应PayPal选项卡的键替换上面unset里的内容即可,调试完成后记得删除这段调试代码。add_filter( 'woocommerce_account_menu_items', 'debug_ppcp_menu_keys', 30 ); function debug_ppcp_menu_keys( $menu_links ){ echo '<pre>'; print_r(array_keys($menu_links)); echo '</pre>'; return $menu_links; }
内容的提问来源于stack exchange,提问作者tinyiguanas
相关产品推荐
相关产品推荐

