我正在运行一个wordpress循环,可从两种帖子类型中抓取帖子。
我需要循环来获取设置了某些类别的帖子。由于是两种不同的帖子类型,因此它们都有类别分类法。当用户选择前端中的一个类别时,我希望循环从某个类别中的某个类别下的所有帖子,以及该类别中该类别中的另一个类别的所有帖子,从该类别中获取所有帖子。
为简化我正在尝试做的事情的描述:
从两种类型的帖子中获取循环并不是问题,但是我一直坚持尝试仅从特定类别的帖子中获取循环。我正在尝试“ tax_query”,但是循环似乎只是完全忽略了它,好像我根本没有放tax_query一样。
在tax_query外部单独运行“ category_name”或“ quiz_category”也可以。但是在tax_query中,它们都被完全忽略了。
$cat = $_GET['cat'];
$cat = sanitize_text_field($cat);
$args = array(
'post_type' => array('post', 'quizzes'),
'posts_per_page' => -1,
'category__not_in' => array( 9, 10 ),
'tax_query' => array(
'relation' => 'OR',
array(
'taxonomy' => 'category_name',
'field' => 'slug',
'terms' => $cat
),
array(
'taxonomy' => 'quiz_category',
'field' => 'slug',
'terms' => $cat
),
)
);
答案 0 :(得分:1)
我认为问题在于您要为术语段塞值传递一个字符串。
在 public function verify($token)
{
$new_token = User::where('email_token',$token)->firstOrFail()->verified(); // <--
$email = new EmailAdmVerification(new User(['email_token' => $new_token,
'name' => $user->name]));
return redirect('login');
}
之外,我认为您可以传递字符串或数组。在tax_query
内部,有多个分类法,我在documentation中看到的唯一示例中,这些值都包装在数组中。
文档没有具体说明我能找到的任何地方。但是,如果您仅可以使用字符串而不是数组,那么我应该从上面链接的文档直接复制的该片段应显示在该位置:
tax_query
话虽如此,您的代码应如下所示:
$args = array(
'post_type' => 'post',
'tax_query' => array(
'relation' => 'OR',
array(
'taxonomy' => 'category',
'field' => 'slug',
'terms' => array( 'quotes' ),
),
array(
'taxonomy' => 'post_format',
'field' => 'slug',
'terms' => array( 'post-format-quote' ),
),
),
);
$query = new WP_Query( $args );
如果这行不通,您可以回显 $cat = $_GET['cat'];
$cat = sanitize_text_field($cat);
$args = array(
'post_type' => array('post', 'quizzes'),
'posts_per_page' => -1,
'category__not_in' => array( 9, 10 ),
'tax_query' => array(
'relation' => 'OR',
array(
'taxonomy' => 'category_name',
'field' => 'slug',
'terms' => array($cat)
),
array(
'taxonomy' => 'quiz_category',
'field' => 'slug',
'terms' => array($cat)
),
)
);
变量并发布结果吗?