Intereting Posts
Название темы перешло в некоторые из функций? Пользовательский тип сообщения, используемый для часто задаваемых вопросов Аккордеон Фильтр Post Object с помощью настраиваемого поля, а не заголовок (ACF) Условно загрузка PHP PHP SDK в шорт-код Удаление конфиденциальной информации из уведомлений комментариев – notify_post_author В какой теме литейщик имеет чистые закодированные темы, где код – это поэзия сортируемые столбцы в настраиваемом типе сообщений не будут работать Изображение присоединения к категории wordpress thumbnail onclick, тогда модальный выйдет Как перевести текст «Постоянная ссылка на» Почему is_home () работает правильно? Как изменить заголовок сообщения WordPress? the_content () не отображает содержимое, почему? Использование jQuery для автоматического добавления класса только к gif-изображениям в базе данных WordPress Не добавляйте контент пользователям admin

Как заставить wp_get_archives показывать мне месяцы, когда были созданы только страницы?

Я создаю плагин и имею проблему,

этот код дает мне все месяцы, что сообщение было добавлено:

<select name="sdate" id="sdate"> <?php wp_get_archives('format=option'); ?> </select> 

проблема в том, что я не получаю даты, которые добавляли только страницы.

basicaly, я хочу, чтобы выпадающее меню собиралось каждый год + месяц (например, «Сентябрь 2010»), что что-то было добавлено со значением типа «год-месяц» (например, «2010-05»)

Что-то, что вы можете видеть на странице WordPress Export, но скопированный код для меня не работает.

Solutions Collecting From Web of "Как заставить wp_get_archives показывать мне месяцы, когда были созданы только страницы?"

Функция wp_get_archives () запускает фильтр в своем предложении WHERE – это называется getarchives_where . Вы можете использовать это, чтобы изменить запрос, чтобы включать только страницы, а не сообщения (которые являются жестко заданными по умолчанию).

Я еще не тестировал это, но попробуйте:

 add_filter('getarchives_where','my_archives_filter'); function my_archives_filter($where_clause) { return "WHERE post_type = 'page' AND post_status = 'publish'"; } 

Затем просто используйте функцию wp_get_archives так, как обычно.

Очевидно, это повлияет на функцию wp_get_archives sitewide, поэтому, если вы используете wp_get_archives для захвата почтового архива где-то еще на вашем сайте, вам придется обернуть add_filter в то, что распознает контекст.

Итак, вот код, который заставляет его работать (отображать раскрывающийся список архива с датами, которые все было добавлено):

  add_filter('getarchives_where','my_archives_filter'); function my_archives_filter($where_clause='') { return ""; } <select name="sdate" id="sdate"> <?php wp_get_archives('format=option'); ?> </select> 

Спасибо, MathSmath!