Intereting Posts
Использование PHP для чтения сообщений WordPress Сила 3 ​​Виджеты панели управления столбцами Добавить кнопку на панель TinyMCE без создания плагина Инициировать multisite с blog_id вне wordpress Не удается получить предыдущую и следующую записи постоянной ссылки Использование пользовательских сообщений с метабоксами и выпадающими списками Я хочу обработать следующие js для обработки запроса AJAX на моей функции, чтобы вычислить общее количество просмотров сообщения Понимание уязвимостей SVG в WordPress, связанных с определенным исправлением Разница между командами after_setup_theme и init? Есть ли крючок или фильтр, когда возврат средств осуществляется через admin -woocommerce Пользовательский тип сообщения – изменение имени в боковой панели URL для фильтрации сообщений по почте meta похож на магазин /? Product_cat = "painting" Как разработать детскую тему для диссертации Плагин не работает локально, но работает на сервере Как получить Facebook, чтобы увидеть, как YouTube / Blip вставляются при совместном использовании ссылки?

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

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

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

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

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

благодаря

Вам просто нужно получить текущую дату и добавить ее в 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' );