Отображать публикации категории в алфавитном порядке (Пользовательский тип публикации)
- У меня есть пользовательский тип записи под названием "ссылка"
- У меня есть пользовательская таксономия для этого типа сообщений под названием "категория ссылок"
- У меня есть файл шаблона для этой таксономии,"taxonomy-link-category.php "
- Мне нужен шаблон для отображения сообщений выбранной категории ссылок в алфавитном порядке
РЕДАКТИРОВАТЬ: На странице ССЫЛОК веб-сайта все названия категорий для пользовательского типа публикации ССЫЛКА отображается в списке. Как только посетитель нажимает на название категории, мне нужно, чтобы wordpress перечислил все сообщения в этой категории в алфавитном порядке. У меня это работает, с приведенным ниже кодом (с использованием файла шаблона: taxonomy-link-category.php), но сообщения отображаются в хронологическом порядке, и только 10 из них (по умолчанию wordpress).
Я пробовал такие вещи: Отображение пользовательского типа записи в алфавитном порядке, но, конечно, он отображается... РЕДАКТИРОВАТЬ : вся ССЫЛКА сообщения, а не только сообщения выбранной категории ССЫЛОК.
Это мой текущий код в taxonomy-link-category.php , могу ли я просто не добавлять 'orderby' => 'title', 'order' => 'ASC'
где-нибудь/как-нибудь?
<?php get_header(); ?>
<div id="content">
<h1>Links</h1>
<h2><?php echo get_queried_object()->name; ?></h2>
<?php if (have_posts()) : // start the loop ?>
<?php while (have_posts()) : the_post(); // loop the posts ?>
<h3><?php the_title(); ?></h3>
<?php the_content(); ?>
<?php endwhile; // stop looping the posts ?>
<?php else : // what to do if there are no posts to show ?>
<h3>No posts</h3>
<?php endif; // end the loop ?>
</div><!-- #content -->
<?php get_footer(); ?>
2 answers
Используйте pre_get_posts
действие по изменению запроса перед его выполнением. Поместите это в свою тему functions.php
:
function wpd_tax_alpha( $query ) {
if ( $query->is_tax('link-category') && $query->is_main_query() ) {
$query->set( 'orderby', 'title' );
$query->set( 'order', 'ASC' );
}
}
add_action( 'pre_get_posts', 'wpd_tax_alpha' );
Да. Но, боюсь, я неправильно понимаю ваши намерения.
Вы пробовали:
$args = array(
'post_type' => 'link',
'tax_query' => array(
array(
'taxonomy' => 'link-category',
'field' => 'slug',
'terms' => array( 'Birds', 'Cats', 'Dogs' )
)
),
'orderby' => 'title',
'order' => 'ASC'
);
$query = new WP_Query($args);
, Который должен создать список в алфавитном порядке, в котором массив терминов присутствует в таксономии категорий ссылок.
**В редактируемом исходном коде отсутствовала запятая после массива терминов.