Intereting Posts
Как добавить Javascript в заголовок всех почтовых страниц и только почтовые страницы Как удалить кнопки из редактора WP на странице редактирования сообщений в области администратора Переименование install.php для обеспечения безопасности? Ограничьте количество терминов, которые пользовательская таксономия может сохранить на пользовательский тип сообщения Как изменить способ wp_embed обрабатывает только видео с YouTube? Информация о плагине, добавляющем текст, когда отображается сообщение, страница или другое подобное Уникальный сеанс WordPress автоматическое заполнение пользовательского nav со всеми элементами из пользовательского типа сообщения Нужно ли мне только импортировать style.css для дочерней темы? Подтвердите пароль на странице проверки, не работающей в woocommerce 3.0.1 Определить содержание страницы на основе родительской страницы Как исправить ошибку администратора? Расширение допустимых тегов HTML в комментариях? Ссылка на ссылку «Восстановить резервную копию» ничего не делает Запрос поиска для нескольких категорий с использованием «ИЛИ», но с определенными категориями «И»

is_home () не работает в файле functions.php

Я использую темы woo и пытаюсь использовать некоторые крючки woo для привязки к файлу index.php из моей дочерней темы.

Я использую следующий код:

function content_woo_main_before() { if (is_home() || is_front_page()) { include('includes/home-news.php'); } }; add_action('woo_main_before', 'content_woo_main_before', 15 ); function content_woo_main_after() { if (is_home() || is_front_page()) { include('includes/home-news-after.php'); } }; add_action('woo_main_after', 'content_woo_main_after', 15 ); 

Странная вещь в том, что первая функция загружается так, как должна, на домашней странице, а вторая – нет. Я пробовал несколько вещей, таких как изменение порядка выполнения функций, изменение имен, я пытался обернуть функции в условном выражении. Ничего не получилось.

Я здесь что-то не так?

Я нашел несколько других сообщений, которые имели что-то похожее на это, о том, как is_home() не будет работать в functions.php, потому что он работает, прежде чем мы узнаем, находимся ли мы на домашней странице, но это не объяснит, почему первая функция работает правильно, а вторая – нет.

У кого-нибудь есть идеи?

ОБНОВИТЬ:

Поэтому, основываясь на полученной обратной связи, я обновил следующее, используя get_template_part()

http://www.re-electsusanguidry.com/admin/

вот код:

 function content_woo_main_before() { echo 'is_home1 =' . is_home(); echo 'is_front_page1 = ' . is_front_page(); if (is_home()) { get_template_part('home', 'news'); } }; add_action('woo_main_before', 'content_woo_main_before', 20 ); function content_woo_main_after() { echo 'is_home2 = ' . is_home() . '<br />'; echo 'is_front_page2 = ' . is_front_page(); if (is_front_page()) { echo 'is_home3 =' . is_home(); echo 'is_front_page3 = ' . is_front_page(); get_template_part('home', 'after'); } }; add_action('woo_main_after', 'content_woo_main_after', 21 ); 

Вот чего я не понимаю. Если у меня есть обе эти функции с использованием is_home() || is_front_page() is_home() || is_front_page() , первая возвращает «1», но вторая функция вообще ничего не возвращает. Таким образом, «is_home1» возвращает 1, «is_front_page1» возвращает 1, поэтому оно истинно и содержимое загружается. Однако «is_home2» и «is_front_page2» ничего не возвращает, условный оператор возвращает false, а содержимое не загружается.

Я попробовал разные числа для последовательности загрузки, но это ничего не делало. Я поставил сумасшедший длинный номер, и он все еще не вернулся.

Странно то, что если я выберу первую функцию (woo_main_before), вторая работает так, как ожидалось. Только когда они оба есть, второй не работает.

Я не могу найти кого-либо еще с этой проблемой в Интернете. Я понятия не имею, что случилось.

Есть идеи?

Solutions Collecting From Web of "is_home () не работает в файле functions.php"