有条件地删除单页的Storefront手持菜单

时间:2018-12-19 00:30:38

标签: php wordpress woocommerce hook-woocommerce storefront

我正在尝试对代码provided by Woocommerce进行相对简单的修改,以删除带有register的站点上单个页面上的手持式导航栏。

提供的代码段为:

add_action( 'init', 'jk_remove_storefront_handheld_footer_bar' );

function jk_remove_storefront_handheld_footer_bar() {
  remove_action( 'storefront_footer', 'storefront_handheld_footer_bar', 999 );
}

我只想删除单个页面的菜单,所以我尝试使用is_page钩子。

add_action( 'init', 'remove_storefront_handheld_footer_bar' );
function remove_storefront_handheld_footer_bar() {
    if (is_page( $page = 'register' )){
            remove_action( 'storefront_footer', 'storefront_handheld_footer_bar', 999 );
        }
}

但是,这不会删除手持设备菜单。如果删除is_page逻辑,则菜单消失,但这不是我需要的功能。

1 个答案:

答案 0 :(得分:0)

storefront_footer中使用的优先级相比,您可以使用优先级更高的(较低的数字) remove_action() (相同的钩子)

add_action( 'storefront_footer', 'remove_storefront_handheld_footer_bar' );
function remove_storefront_handheld_footer_bar() {
    if ( is_page( 'register' ) ){
        remove_action( 'storefront_footer', 'storefront_handheld_footer_bar', 999 );
    }
}

代码进入您的活动子主题(或活动主题)的function.php文件中。经过测试并可以(具有任何特定的页面ID,名称或子弹头)。您需要确保"register"是真实存在的“页面” 的标签。