解释对象
您不必手动将数据强制到这些类属性中。整体
$wp_query
对象有一组内部方法,您应该使用这些方法
set 价值观下面是一个示例:
public function query( $query )
{
if (
\'SOME_POST_TYPE\' !== $query->get( \'post_type\' )
OR ! $query->is_main_query()
OR ! $query->is_archive()
OR ! $query->is_post_type_archive()
OR ! is_page_template( \'TEMPLATE_NAME.php\' )
)
return $query;
$query->set( \'posts_per_page\', -1 );
$query->set( \'numberposts\', -1 );
return $query;
}
内置分类法:类别和;标记单个术语/类别/分类单元如果您想查询类别并手动设置,那么您的任务非常简单,因为
don\'t 必须
tax_query
:
$query->set( \'category__in\', 13 );
如果需要查询多个类别,请执行以下操作:
$query->set( \'category__and\', array( 12, 13 ) );
您可以在
Codex page for the WP_Query
class. 当然,对于内置
post_tag
/标记分类法。
自定义分类法(Custom Taxonomy)
这里的事情变得稍微复杂一些:您需要使用
tax_query
.
Keep in mind 这需要
array( array() )
. 简单地说:一个周围的数组和一个内部的数组。如果不这样做,WP将无声地失败。示例:
$tax_query = array(
array(
\'taxonomy\' => \'event_type_taxonomy\'
,\'field\' => \'id\'
,\'terms\' => array( 12, 13 )
,\'operator\' =>\'IN\'
)
);
$query->set( \'tax_query\', $tax_query );
在Codex页面上再次进行扩展解释。