等了很久,但找不到答案。。。我发现了问题,但不知道如何解决。但幸运的是,有一条路可以绕过它。
我一直在用wordpress的pre_get_posts
挂钩以设置tax_query
如下所示:
add_action( \'pre_get_posts\', \'homeInjector\' );
function homeInjector( $query ) {
if ( $query->is_home() ) {
$issues = get_terms( array(
\'taxonomy\' => \'issues\'
) );
if ( isset( $_POST[\'issue\'] ) ) {
$term = $_POST[\'issue\'];
} else {
$term = $issues[0]->slug;
}
$arg = array(
array(
\'taxonomy\' => \'issues\',
\'terms\' => $term,
\'field\' => \'slug\'
)
);
$query->set( \'tax_query\', $arg );
}
但如果我在索引中使用相同的代码。php与
new WP_Query
反对它的工作!
$issues = get_terms( array(
\'taxonomy\' => \'issues\'
) );
if ( isset( $_POST[\'issue\'] ) ) {
$term = $_POST[\'issue\'];
} else {
$term = $issues[0]->slug;
}
$qry = new WP_Query( array(
\'post_type\' => \'post\',
\'tax_query\' => array(
array(
\'taxonomy\' => \'issues\',
\'terms\' => $term,
\'field\' => \'slug\'
)
)
) );
不知道为什么,但它起作用了。。。
但我还是会等待合适的答案,因为我的答案只是帮助我和其他人的一种方式:)