给帖子排序|按字母顺序

时间:2018-05-11 作者:Edogawa Kudo

假设我有大约2700篇帖子(假设2600篇以字母开头的帖子和100篇以数字开头的帖子。每个字母和数字都有100篇帖子。像A、B、C……每个都有100篇帖子。)

我想创建一个页面,根据帖子标题的第一个字母列出帖子。

www.website.com/post-lists-Numbers/ 显示以开头的帖子列表#.
www.website.com/post-lists-A/ 显示以开头的帖子列表A.
www.website.com/post-lists-B/ 显示以开头的帖子列表B.



www.website.com/post-lists-Z/ 显示以开头的帖子列表Z.

我知道要快速解决这个问题,我可以使用这个插件"Alphabetic Pagination"

但我想学习一些新的东西,能够清楚地了解基本知识,并能够修改自定义代码。

此外,我想对所有帖子分页,在“信件”页面中每个字母的50个帖子进行拆分。

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

你读过这篇帖子吗?Display all posts starting with given letter?

这可不简单WP_Query 这很不幸,因为这将有助于保持分页。

// Rules
$args = [\'post_type\'=>\'post\',\'orderby\'=>\'name\'];

// The Query
$query1 = new WP_Query( $args );

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

You could use wpdb

global $wpdb;
$results = $wpdb->get_results( "SELECT ID FROM wp_posts WHERE post_title LIKE \'B%\';", ARRAY_A );
&;然后使用WP\\u查询

// Rules
$args = [\'post_type\'=>\'post\',\'post__in\'=>$results];

// The Query
$query1 = new WP_Query( $args );

// The Loop
while ( $query1->have_posts() ) {
    $query1->the_post();
    echo \'<li>\' . get_the_title() . \'</li>\';
}
pre_get_posts() 是做这种事情的另一个好方法。

结束

相关推荐

在阅读设置中,帖子被设置为“博客”,我有页面-Bloom.php,但没有帖子

我正在努力做到这一点:我有一个静态frontpage(在index.php中定义),希望有一个使用我在page blog中定义的内容的分区/博客。php,但使用内置方法循环帖子等。在阅读设置中,我定义了指向“blog”页面的帖子,然后应该引用该页面page-blog.php 但我看到的都是index.php有什么建议吗?谢谢