Как изменить category.php перечислять сообщения в алфавитном порядке?


Как сказано в названии. Был бы признателен вам за помощь. Спасибо.

Author: rabbid, 2013-04-29

2 answers

Попробуйте внести все изменения в тему в functions.php когда это возможно. Он сохраняет файлы тем чистыми и незагроможденными. Вот пример использования pre_get_posts действие:

function order_category_archives( $query ) {
  if ( is_category() && $query->is_main_query() ){ // is_category() can specify a category, if necessary
    $query->set( 'orderby', 'title' );
    $query->set( 'order', 'ASC' );
  }
}

add_action( 'pre_get_posts', 'order_category_archives' );

Обратите внимание, что это использует is_category() чтобы изменить запрос, только если мы смотрим на страницу архива категорий. Можно добавить необязательный параметр, чтобы указать, к какой категории (или категориям) это должно быть ограничено.

Наконец, мы используем is_main_query() чтобы избежать изменения каких-либо дополнительных запросы, которые могут быть на странице.

 5
Author: Matt, 2013-04-29 13:07:02
<ul>

<?php

    // we add this, to show all posts in our
    // Glossary sorted alphabetically
    if (is_category())
    {
        $args = array( 'posts_per_page' =&gt; -1, 'orderby'=&gt; 'title', 'order' =&gt; 'ASC' );

        $glossaryposts = get_posts( $args );
    }

    foreach( $glossaryposts as $post ) :
        setup_postdata($post);
        ?>
        <li>
        <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>;

<?php endforeach; ?>

</ul>
 -2
Author: Balas, 2013-04-29 13:08:16