按标题排序,而不考虑‘the’

时间:2012-02-08 作者:Alekz

我目前有一个电视节目的剧集,其中有乐队演奏,例如:

我的wp\\U查询如下:

$loop = new WP_Query(array(\'post_type\' => \'episodio\', \'cat\' => \'9\', \'posts_per_page\' => 90, \'orderby\' => \'title\',\'order\' => \'ASC\'  ));
但我想按字母顺序排列,不考虑“the”:

Dandy Warhols和Kooks在数据库中有很多记录,因此将所有内容都放入一个数组中,删除“The”,再次排序,然后遍历数组以显示数据,这不是非常实际和/或高效的。

这在WP\\U查询中是否可能?也许通过过滤器?

提前非常感谢!:)

3 个回复
SO网友:Kyle

如果您使用的是SEO Ultimate插件(它很流行,我建议您使用),它有一个名为Slug Optimizer的组件,可以从帖子Slug中删除这些类型的单词,因此如果帖子标题是“Dandy Warhols”,那么Slug就是“Dandy Warhols”。

也许只是按邮政信箱订购?

SO网友:Kyle

这未经测试,但您可以尝试此查询

"SELECT post_title FROM wp_posts ORDER BY IF(LEFT(post_title,2)="A ",SUBSTRING(post_title FROM 3),IF(LEFT(post_title,3)="An ",SUBSTRING(post_title FROM 4),IF(LEFT(post_title,4)="The ",SUBSTRING(post_title FROM 5),post_title)))"
这不是最有效的,但它应该能完成工作。

最快的方法可能是为帖子增加一列,去掉这些特定的单词,仅用于排序。

SO网友:Arvind Pal

$loop=新的WP\\U查询(数组(\'post\\U type\'=>\'EPIODIO\',\'cat\'=>\'9\',\'posts\\U per\\U page\'=>\'90\',\'orderby\'=>\'title\',\'order\'=>\'DESC\');

这将使文章标题从类别id 9递减

结束

相关推荐

元查询和奇怪的orderby行为

这是我的问题查询,它选择所有未来或挂起的事件请注意,有些帖子只有\\u开始日期,没有\\u结束日期(1天事件)。$args = array( \'post_type\'=> \'events\', \'meta_query\' => array( array( \'key\' => \'_startdate\', \'value\' => $today, \'type\' => \'DATE\