Sort order in get_posts

时间:2014-06-26 作者:tadywankenobi

我创建了一个custom template 对于客户。这将是一个多站点安装上的多语言站点设置。

正如你在每个分类字母下看到的,帖子都是按字母顺序开始的,但“M”和“O”都不正常。

如果您使用顶部的字母栏点击这些类别,这些帖子将按字母顺序排列。

两个页面使用相同的代码,所以我不知道我做错了什么。我有一种感觉,我在某处有一个查询冲突,但我找不到它。下面是进行排序的代码:

<section class="atozlist">
    <?php
        $newargs = array(
            \'child_of\'  => $catID,
            \'order\'     => \'ASC\'
            );
        $categories =  get_categories($newargs);
        foreach  ($categories as $category) {
            echo \'<h2>\'.$category->name.\'</h2>\';
            echo \'<ul>\';

            $titleArgs = array(
                \'cat\'       => $category->term_id,
                \'order_by\'  => \'title\',
                \'order\'     => \'ASC\'
                );
            foreach (get_posts($titleArgs) as $post) {
                setup_postdata( $post );
                echo \'<li><a href="\'.get_permalink($post->ID).\'">\'.get_the_title().\'</a></li>\'; 
            } 
            wp_reset_postdata();
            echo \'</ul>\';
        }
    ?>
</section>
我不确定setup_postdata($post), 虽然我用它作为模板。我也不确定我是否实施了wp_reset_postdata() 正确地

有人有什么想法吗?

2 个回复
最合适的回答,由SO网友:tadywankenobi 整理而成

啊耶。。。我们都错过了order_by, 我们不是。。。应该是orderby.

该死的。

无论如何,谢谢大家的帮助。

SO网友:engelen

这里的问题不是错误显示的帖子显示在错误的类别下,而是它们实际上不在正确的类别中。例如,“支持健康饮食选择”的帖子显示在“O”下,因为它的类别为“O”。转到后端并为这些帖子分配适当的类别应该可以解决这个问题。简而言之,你的代码没有问题,你的一些帖子只是属于错误的类别。

结束

相关推荐

WP_QUERY-使用多个SELECT按TAX_QUERY和META_QUERY筛选

我有一本出版物Post Type, a编剧Taxonomy 和出版物自定义“元框”值;parent_id. 在我的archive-publictions-post.php 模板我正在尝试筛选WP_Query 类,具有tax_query 和meta_query 参数。使用下面的代码,我可以在页面加载时显示所有出版物,当我同时选择一个术语和一个父项时,我可以获得过滤结果,但当我单独选择时,我不能得到过滤结果?我不确定meta_query &;tax_query relationship 在这种情况下应使