Условно удалить карманное меню Storefront для одной страницы - PullRequest
0 голосов
/ 19 декабря 2018

Я пытаюсь сделать относительно простую модификацию кода , предоставленного 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 голосов
/ 19 декабря 2018

Вы можете использовать вместо 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 вашей активной дочерней темы (или активной темы).Протестировано и работает (с любым конкретным идентификатором страницы, именем или слагом) .Вы должны быть уверены, что "register" - это кусок реально существующей "страницы" .

...