按标题类别的首字母对帖子进行分组

时间:2015-01-27 作者:Andy

问题与此重复:Group Posts by First Letter of Title

然而,我不确定是否可以问这个问题,或者我必须开始一个新的问题,所以我问了后者;)

我实施了@helgatheviking在2014年提出的解决方案,它运行/工作得很好,但是-我必须为2015年做另一个列表,我试图找出如何将类别划分为两个不同的列表,但无法做到。。。。我有一个类别叫做2014&;2015

我试图改变这一行:

$posts = get_posts(array(\'numberposts\' => -1) );
通过添加“category”=>x,但这并没有像我想的那样起作用。。。

任何帮助都会非常好,请提前感谢。

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

我会使用WP_Query 对于这一点,因为我更喜欢它。

我想到了两种解决方法。如果你对分类不感兴趣,那么WP_Query 对日期参数有很好的支持,包括year 参数按年查询如下所示:

$wpse176213_query = new WP_Query( array(
    \'nopaging\'  => true,            // return all posts
    \'year\'      => $your_year_var   // Must by 4 digit
) );
如果你热衷于使用你的分类,WP_Query 也支持这一点。看起来像这样:

$wpse166213_query = new WP_Query( array(
    \'nopaging\'  => true,            // return all posts
    \'tax_query\' => array(
        \'taxonomy\'  => \'category\',
        \'field\'     => \'slug\',
        // Whatever the slug for the year category is
        \'terms\'     => $your_year_slug
    )
) );
请注意,如果愿意,可以不使用tax_query, 但我倾向于tax_query 因为它允许您以较少的额外工作来扩展代码,如果您遇到这种情况的话。还请注意,这些查询并不完整,我强烈建议您通读可用参数的(长)列表,并确保正确设置它们。请参见codex entry for WP_Query.

结束