Intereting Posts
Объединение файлов CSS и JS из плагинов wp_nav_menu, добавить класс для каждого n-го элемента? Как добавить мета-поле для текущего формата сообщения? Изменить начальную страницу администратора на страницу-страницу? Как сделать кнопку поиска, которая будет искать мой сайт? Почему WordPress использует устаревший jQuery v1.12.4? Ограничить максимальное количество слов за сообщение? Изменить шаблон «на лету» на основе выбора родительского поста пользовательское меню не найдено Пользовательский запрос неправильно возвращает все Внесите WordPress, темы и плагины в использование определенных размеров Сколько вызовов «wp_insert_post» может выполняться одним выстрелом в очень длинном цикле «for»? Лучший способ программно удалить категорию / термин из сообщения Переход на новый домен на одном сервере Индивидуальные почтовые типы и таксономии Worpdress

Запросы с текущего года

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

<?php query_posts( "&year=$current_year&order=DESC"); ?> 

Тем не менее он по-прежнему показывает сообщения с 2012 года (они фактически не были сделаны в 2012 году, но я установил дату публикации на одну из должностей, которая показывает февраль прошлого года)

Согласно документации, так я должен это делать. Может ли кто-нибудь пролить свет?

благодаря

Solutions Collecting From Web of "Запросы с текущего года"

Вам просто нужно получить текущую дату и добавить ее в data_query в wp_query, Посмотрите:

 <?php $getdate = getdate(); $args = array( 'date_query' => array( array( 'year' => $getdate["year"] ), ), ); $query = new WP_Query( $args ); ?> 

и затем используйте цикл:

 <?php if ( $query->have_posts() ): while ( $query->have_posts() ) : $query->the_post(); the_title(); the_content(); endwhile; endif; ?> 

Не используйте query_posts для изменения ваших запросов. Это пустая трата ресурсов и дает непредсказуемые результаты, поскольку она перезаписывает исходный запрос, который происходит до загрузки шаблона.

pre_get_posts используйте pre_get_posts в functions.php вашей темы, чтобы изменить запрос до его отправки в базу данных и до загрузки шаблона.

 function home_page_current_year( $query ){ if( $query->is_home() && $query->is_main_query() ) $query->set( 'year', date('Y') ); } add_action( 'pre_get_posts', 'home_page_current_year' );