使用PRE_GET_POST按自定义列对帖子进行排序

时间:2015-02-02 作者:NoviQ

是否可以使用pre\\u get\\u posts过滤器按wp\\u posts表中的自定义列(在本例中为“fav\\u count”列)对帖子进行排序?如果没有,在运行主查询之前,是否有其他方法可以做到这一点,而无需修改WP核心文件?

1 个回复
SO网友:NoviQ

我自己找到了答案。

在运行查询之前,还可以使用其他筛选器调整查询:http://codex.wordpress.org/Plugin_API/Filter_Reference/posts_clauses

posts\\u子句过滤器在执行查询之前运行,本质上是在它之前运行的所有过滤器的总和。

除了posts\\u子句之外,还有几个更精确的过滤器,它们只修改单个特定子句:

posts\\u where\\u paged

  • posts\\u groupby
  • posts\\u join\\u paged
  • posts\\u orderby
  • posts\\u distinct
  • post\\u限制
  • posts\\u字段posts_orderby 滤器

  • 结束

    相关推荐

    Pre_Get_Posts操作中的多个orderby

    我过去能够按2个条件对查询结果进行排序(“先按状态=未售出的ASC,然后按日期描述排序结果”),如下所示:add_action( \'pre_get_posts\', \'my_get_posts\' ); function my_get_posts( $query ) { if (is_admin()){ return; } if (is_post_type_archive(\'objet\')){