Intereting Posts
Есть ли способ указать порядок меток по полю post_meta Как удалить меню списка страниц в заголовке в теме «Двадцать десять»? Как лучше отображать уведомления на интерфейсе с использованием исключенных исключений в качестве примера Постоянная ссылка для пользовательских пост-типов в пользовательских таксономах не найдена Проблема с лицензией GPL и продуктами WordPress wordpress пользовательский тип сообщения таксономия permalink пользовательская роль wordpress – предоставить гостевой доступ к edit.php без вставки / обновления / удаления Архивный фильтр исчезает без каких-либо результатов? Как отсоединить текстовый редактор с именами элементов textarea Как остановить wordpress, чтобы сделать запрос по умолчанию? Поиск Все интеграции плагин WordPress daily cron работает чаще, чем один раз в день Получение jquery для работы с настраиваемой темой Как удалить страницу после листинга для персонализированного типа сообщения Содержимое не сотрясается в теге <p>

Как я могу использовать «getarchives_where» для получения ежемесячных архивов для статических страниц?

Я хотел бы получать ежемесячные архивы для статических страниц. Я попытался использовать следующий код:

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

и на боковой панели я пишу:

 add_filter('getarchives_where','my_archives_filter'); wp_get_archives('type=yearly'); remove_filter ('getarchives_where','my_archives_filter'); 

Но это не сработает.

Вы можете мне помочь?

Благодарю.

Solutions Collecting From Web of "Как я могу использовать «getarchives_where» для получения ежемесячных архивов для статических страниц?"

wp_get_archives уже есть post_type = 'post' по умолчанию, и для его замены попробуйте это:

 add_filter('getarchives_where','my_archives_filter'); function my_archives_filter($where_clause) { str_replace( "post_type = 'post'" , "post_type = 'page'" , $where ); } 

в боковой панели:

 add_filter('getarchives_where','my_archives_filter'); wp_get_archives('type=yearly'); remove_filter ('getarchives_where','my_archives_filter'); 

add_filter за которым remove_filter метод remove_filter кажется взломанным, я предпочитаю использовать условный подход следующим образом:

 /** * Post type archives by month */ function kevinlearynet_getarchives_events( $sql_where, $r ) { // conditions for when you want to do this // (don't do it all the time) if ( is_post_type_archive( 'event' ) ) { $sql_where = str_replace( "post_type = 'post'" , "post_type = 'event'" , $sql_where ); } return $sql_where; } add_filter( 'getarchives_where', 'kevinlearynet_getarchives_events', 10, 2 ); 

Если вы просто пытаетесь изменить post_type на страницу, вам не нужно использовать фильтр. Просто выполните следующие действия:

 wp_get_archives( array( 'post_type' => 'page' ) ); 

Проблема в том, что архивы ориентированы на сообщения, а не на страницы.