답변:
가장 쉬운 방법은 후크 ( pre_get_posts
훅)를 사용하여 순서를 변경하는 것입니다. 그러나 쿼리가 순서를 변경하려는 쿼리인지 확인해야합니다! ( is_archive()
또는 is_post_type_archive()
충분해야합니다.)
예를 들어, 테마의 functions.php에 다음을 입력하십시오 ...
add_action( 'pre_get_posts', 'my_change_sort_order');
function my_change_sort_order($query){
if(is_archive()):
//If you wanted it for the archive of a custom post type use: is_post_type_archive( $post_type )
//Set the order ASC or DESC
$query->set( 'order', 'ASC' );
//Set the orderby
$query->set( 'orderby', 'title' );
endif;
};
<?php
// we add this, to show all posts in our
// Glossary sorted alphabetically
if ( is_category('Glossary') ) {
$args = array(
'posts_per_page' => -1,
'orderby' => 'title',
'order' => '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; ?>
Stephen의 답변에 더하여 제목별로 쿼리하고 순서를 지정하려면 템플릿 파일에서 사용할 수 있습니다.
$args = ( array(
'order' => 'ASC',
'orderby' => 'title',
) );
query_posts($args);