按字母顺序和按列列出帖子的垂直动态列表

时间:2014-08-22 作者:user2059370

我有一个页面,动态列出了自定义帖子类型的给定类别中的所有帖子。我用一个插件列出了帖子和快捷方式,并用css创建了9列,在这些列中,它们在字母后水平排序。相反,我想把它放在一个按字母顺序动态排列的垂直列表中,最好是按字母排序。像这样:http://skatematic.com/channels

由于css似乎不能解决这个问题,我不知道从哪里开始。有什么指示吗?

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

您只需使用WP_Query. 您只需确保您使用的是自定义分类法还是内置类别。有关参考,请参阅:Is There a Difference Between Taxonomies and Categories?

下面是一个自定义分类的示例(这也可以用于内置类别,只需更改\'taxonomy\' => \'MY_CUSTOM_TAXONOMY\',\'taxonomy\' => \'category\',):

$args = array(
    \'post_type\' => \'MY_CUSTOM_POST_TYPE\',
    \'posts_per_page\' => -1,
    \'orderby\' => \'title\',
    \'order\' => \'DESC\',
    \'tax_query\' => array(
        array(
            \'taxonomy\' => \'MY_CUSTOM_TAXONOMY\',
            \'field\'    => \'slug\',
            \'terms\'    => \'THE_SLUG_FROM_MY_TERM\',
        ),
    ),
);

$the_query = new WP_Query( $args );

// The Loop
    echo \'<ul>\';
    while ( $the_query->have_posts() ) {
        $the_query->the_post();
        echo \'<li>\' . get_the_title() . \'</li>\';
    }
    echo \'</ul>\';

/* Restore original Post Data */
wp_reset_postdata();
对于单个术语,还可以直接使用查询变量,因此可以更改$args 像这样的事情

$args = array(
    \'post_type\' => \'MY_CUSTOM_POST_TYPE\',
    \'posts_per_page\' => -1,
    \'orderby\' => \'title\',
    \'order\' => \'DESC\',
    \'MY_CUSTOM_TAXONOMY\'    => \'THE_SLUG_FROM_MY_TERM\',
);
如果您有内置类别,请更改$args 至以下内容

$args = array(
    \'post_type\' => \'MY_CUSTOM_POST_TYPE\',
    \'posts_per_page\' => -1,
    \'orderby\' => \'title\',
    \'order\' => \'DESC\',
    \'cat\'    => \'THE_ID_OF_YOUR_CATEGORY\',
);
有关更有用的参数及其用法,请访问WP_Query 在法典中

结束