2016-04-18 3 views
2

Я пытаюсь скрыть заголовок страницы магазина на моей домашней странице. Этот код скрывает это от всех сторон:Как скрыть заголовок страницы с домашней страницы темы WooCommerce Storefront?

function sf_change_homepage_title($args) { 
    remove_action('storefront_page', 'storefront_page_header', 10); 
} 
add_action('init', 'sf_change_homepage_title'); 

Но я не могу использовать is_front_page(), потому что WordPress загружает functions.php, прежде чем объект $ WP_Query был создан с текущей страницей, как описано here.

Я бы предпочел не использовать плагин «Переключение заголовков для темы магазина».

спасибо.

ответ

1

Решение заменить "INIT" с "сор":

add_action('wp', 'sf_change_homepage_title'); 

Спасибо.

1

Вы не сразу поняли ответ, с которым вы связались. Вы не можете использовать is_front_page() прямо внутри functions.php, но вы можете полностью использовать его в функции обратного вызова.

is_front_page() условно доступна только после того, как запрос настройки, который происходит в инициализации.

Так что:

function sf_change_homepage_title($args) { 
    if(is_front_page()) { 
     remove_action('storefront_page', 'storefront_page_header', 10); 
    } 
} 
add_action('init', 'sf_change_homepage_title'); 

будет работать.

+0

Я пробовал это, прежде чем публиковать этот вопрос, но он не работает. – retroriff

+0

Если это не работает, это происходит потому, что действие 'storefront_page' выполняется до' init'. Учитывая, что это действие связано с вашей темой/плагином, вам нужно выяснить, в какой момент это регистр, и какой крюк вы можете использовать, чтобы принять меры раньше. Возможно, попробуйте с 'after_setup_theme' вместо' init'. – vard