Intereting Posts
Как я могу получить url из тега изображения в фиде с fetch_feed? Как разрешить специальные символы в имени пользователя? скрипт enqueue, только если он еще не установлен в очередь Получение упорядоченной таксономии в порядке, но исключая конкретные налоговые идентификаторы Пользовательский шаблон для типа сообщения не работает Изображения в плагине после миграции URL-адреса Определить функцию в functions.php или плагине и вызвать цикл темы WP_Query не принимает идентификатор категории Пользовательский цикл в странице Admin, приводящий к потере других полей get_terms из зарегистрированных таксономий, не работающих Запретить загрузку меню в шаблоне страницы Изменение сообщения по умолчанию из wordpress Сериализованный массив, захватывать определенные сообщения с помощью meta_key / meta_value -> is_featured Как запретить доступ к запросам реферера в Multiste с отображаемыми доменами URL-адрес сайта не работает после миграции в worpress, все ссылки повреждены

Манипулирование show_on_front, page_on_front, page_for_posts и иерархией шаблонов

По некоторым причинам мне нужно переписать значения параметров show_on_front, page_on_front, page_for_posts. Я устанавливаю show_on_front на «страницу», а другой – на два разных идентификатора страницы. Если я изменю эти настройки в разделе «Администрирование»> «Настройки»> «Чтение» на те же значения, что и я, программно, на первой странице загружается шаблон front-page.php. В противном случае на первой странице загружается шаблон page.php. Что я делаю не так?

add_filter('pre_option_show_on_front', 'static_front_page'); function static_front_page() { return 'page'; } add_filter('pre_option_page_on_front', 'page_on_front'); function page_on_front() { return 123; } add_filter('pre_option_page_for_posts', 'page_for_posts'); function page_for_posts() { return 123; } 

Я знаю, что это не лучшая практика, но хотелось бы, чтобы это было сделано так.

Другая проблема при настройке на каждый фильтр заключается в том, что is_front_page () не работает корректно после него.

Хорошо, он работает. Я возвращал свойство сериализованной опции в обратные вызовы для фильтров:

 add_filter('pre_option_page_on_front', 'page_on_front'); function page_on_front() { $options = get_option('theme_options'); return $options['page_on_front']; } add_filter('pre_option_page_for_posts', 'page_for_posts'); function page_for_posts() { $options = get_option('theme_options'); return $options['page_for_posts']; } 

Рекуррентными значениями были числа, но строки. Упомянув их, он начал работать.