Изменить основной цикл на странице архива таксономии
Есть ли способ изменить основной цикл в одном шаблоне таксономии, но оставить его нетронутым в любом другом шаблоне?
В этом случае у меня есть пользовательский тип записи "События", который, в свою очередь, имеет пользовательскую таксономию "Регион". Что я хочу сделать, так это вместо того, чтобы перечислять каждое пользовательское "Событие" в хронологическом порядке по дате публикации, я хочу упорядочить его по пользовательскому мета-значению (в данном случае event_date
).
Я хочу сделать это только в своем шаблоне taxonomy-region.php
и оставьте любой другой экземпляр основного цикла нетронутым.
2
Author: Dean Elliott, 2014-08-03
1 answers
Вы могли бы захватить $query
непосредственно перед отправкой сообщений.
function wpdev_156674_pre_get_posts( $query ) {
if (
$query->is_main_query()
&& $query->is_tax( 'region' )
) {
// Manipulate $query here, for instance like so
$query->set( 'orderby', 'meta_value_num' );
$query->set( 'meta_key', 'event_date' );
$query->set( 'order', 'DESC' );
}
}
add_action( 'pre_get_posts', 'wpdev_156674_pre_get_posts' );
Ссылки:
-
pre_get_posts
крюк действия -
WP_Query
класс
2
Author: tfrommen, 2014-08-03 16:47:06