Отображать публикации категории в алфавитном порядке (Пользовательский тип публикации)


  1. У меня есть пользовательский тип записи под названием "ссылка"
  2. У меня есть пользовательская таксономия для этого типа сообщений под названием "категория ссылок"
  3. У меня есть файл шаблона для этой таксономии,"taxonomy-link-category.php "
  4. Мне нужен шаблон для отображения сообщений выбранной категории ссылок в алфавитном порядке

РЕДАКТИРОВАТЬ: На странице ССЫЛОК веб-сайта все названия категорий для пользовательского типа публикации ССЫЛКА отображается в списке. Как только посетитель нажимает на название категории, мне нужно, чтобы 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(); ?>
Author: Community, 2014-03-13

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' );
 3
Author: Milo, 2014-03-14 00:39:06

Да. Но, боюсь, я неправильно понимаю ваши намерения.

Вы пробовали:

$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);

, Который должен создать список в алфавитном порядке, в котором массив терминов присутствует в таксономии категорий ссылок.

**В редактируемом исходном коде отсутствовала запятая после массива терминов.

 1
Author: jdm2112, 2014-03-13 20:29:33