将POSTS_JOIN、WHERE等限制为特定的WP_QUERY对象?

时间:2011-05-18 作者:Manny Fleurmond

我希望这有任何意义。我希望能够向特定的查询对象添加子句,而不影响页面上的主循环,例如边栏或页脚中的内容。有可能吗?

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

最可靠的方法是定义自己的查询变量,然后进行检查:

$my_query = new WP_Query( array(
  ...
  \'context\' => \'my_query\'
) );
然后,从您的回调中:

function alter_post_clauses( $clauses, $wp_query ) {
  if ( \'my_query\' == $wp_query->get( \'context\' ) ) {
    // do stuff
  }

  return $clauses;
}
add_filter( \'posts_clauses\', \'alter_post_clauses\', 10, 2 );

SO网友:SeeBeen

6年后,我不得不确认,这是在posts\\u*过滤器中处理条件的最简单、最可靠的方法。

结束

相关推荐