我有一堆类别,其中包含子类别和子类别,我想在我的archive.php
. 子类别的标题列在其父类别的存档页上。
只需列出类别和/或帖子的链接标题,仅此而已。一切都很完美,但在最后一步,我想按字母顺序排列实际帖子。
所以我在我的archive.php
<?php
if (is_category()) {
$this_category = get_category($cat);
}
$this_category = wp_list_categories(\'orderby=name&depth=1&show_count=0&title_li=&use_desc_for_title=1&child_of=\'.$this_category->cat_ID."&echo=0");
if ($this_category && $catlvl !=0) { ?>
<ul class="cat_options">
<?php
if ($catlvl !=3){
if ($catlvl == 1){
// Do stuff
}
if ($catlvl == 2){
// Do stuff
}
} else {
// Do stuff
$wpex_count = 0;
while ( have_posts() ) : the_post();
$wpex_count++;
// Get entry title ?>
<li>
<a href="<?php wpex_permalink(); ?>" title="<?php wpex_esc_title(); ?>" rel="bookmark"><?php the_title(); ?></a>
</li> <?php
// Reset counter to clear floats
if ( wpex_blog_entry_columns() == $wpex_count ) {
$wpex_count=0;
}
endwhile;
}
?>
</ul>
<?php }
我该怎么做才能在最后一步按字母顺序列出帖子?在列出类别的页面上,它们按字母顺序排列。
我可以使用
$args = array( \'posts_per_page\' => -1, \'orderby\'=> \'title\', \'order\' => \'ASC\' );
发件人
https://codex.wordpress.org/Alphabetizing_Posts 不知怎么的?怎样还是我需要以其他方式获得我的帖子?
只应列出当前类别中的员额。当我在上面的链接中使用该方法时,它会列出所有类别中的所有帖子。
最合适的回答,由SO网友:Den Isahac 整理而成
我建议您使用pre_get_posts WordPress提供的动作挂钩。
然后,在你的functions.php 在下面添加以下代码:
function custom_pre_get_posts($query) {
// validate
if(!is_admin() && $query->is_main_query()) {
if(is_archive()) {
$query->set(\'orderby\', \'title\'); // order posts by title
$query->set(\'order\', \'ASC\'); // and in ascending order
}
}
}
add_action(\'pre_get_posts\', \'custom_pre_get_posts\');
您可以了解更多
pre_get_posts 在里面
here