将类别帖子按字母顺序排列在Archive.php上

时间:2017-06-16 作者:Shmiiiii

我有一堆类别,其中包含子类别和子类别,我想在我的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 不知怎么的?怎样还是我需要以其他方式获得我的帖子?

只应列出当前类别中的员额。当我在上面的链接中使用该方法时,它会列出所有类别中的所有帖子。

1 个回复
最合适的回答,由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

结束

相关推荐

Bulk update wordpress posts

编码器。我对WP编码真的很陌生,我没有任何知识,我们到了。我创建了一个插件(实际上找到了它,但我做了一些修改),更新了我所有的wp帖子。让我们向您展示代码,if ( ! class_exists( \'MyPlugin_BulkUpdatePosts\' ) ) : class MyPlugin_BulkUpdatePosts { public function __construct() { register_activa