我试图先显示四篇带有post format的文章(全部分配给当前标记),然后显示特定标记的“真实”存档(不包括post format)。现在,我正在使用一个函数将post格式排除在主查询之外:
add_action(\'pre_get_posts\', \'keyl_get_emp_posts\');
function keyl_get_emp_posts($query) {
if (is_tag()) {
if ($query->is_main_query())
$taxq = array(
\'tag\' => $current_tag,
array(
\'taxonomy\' => \'post_format\',
\'field\' => \'slug\',
\'terms\' => array(
\'post-format-aside\'
),
\'operator\' => \'NOT IN\'
)
);
$query->set(\'tax_query\',$taxq);
}
}
然后,我尝试显示仅使用post格式的自定义查询<div class="row">
<?php $current_tag = single_tag_title("", false);
$args = array(
\'posts_per_page\' => 4,
\'tag\' => $current_tag,
\'post_type\' => array(\'post\', \'renvoeringsdamm\'),
\'tax_query\' => array(
array(
\'taxonomy\' => \'post_format\',
\'field\' => \'slug\',
\'terms\' => array( \'post-format-aside\' )
)
)
);
$query = new WP_Query( $args );
if ( $query->have_posts() ) {
while ( $query->have_posts() ) {
$query->the_post(); ?>
<div class="col-sm-3 col-xs-6">
<?php get_template_part( \'content\', get_post_format() ); ?>
</div>
<?php
}
wp_reset_postdata();
} ?>
</div>
但是,只查询post格式的特殊查询是显示所有类型post格式的post。。。所以我的问题是,到目前为止,我所做的到底有什么问题!。。