变量在WP_QUERY中无效

时间:2014-06-26 作者:DJC

我以前使用过这种技术,但无法解释为什么这次它不起作用。

“news\\u category”是我的自定义帖子类型“news”的自定义分类法。

我正在使用get\\u the\\u term\\u list、将空格替换为“-”并在查询中使用变量获取当前帖子的分类法(这是自定义帖子类型“news”)。

如果我回显查询,它会给出我所期望的确切字符串——如果我手动将此字符串输入到查询中,它会工作,但变量不会工作。

$cats     = get_the_term_list( $post->ID, \'news_category\' );
$cat      = str_replace( \' \', \'-\', $cats );
$category = strtolower( $cat ); 

echo $category;

$args = array(
    \'post_type\'       => \'news\',
    \'news_categories\' => $category,
    \'post__not_in\'    => array( $post->ID )
);

$sidebar_category = new WP_Query( $args );

2 个回复
SO网友:Bindiya Patoliya

必须使用如下数组:

array(
      \'post_type\' =>\'news\',
      \'category_name\' => $category,  //use category slug (NOT name).
      \'post__not_in\'=> array($post->ID)
     );
如需更多参考,请visit this link

SO网友:vancoder

变量不起作用,因为get_the_term_list 返回HTML链接字符串,而$args 阵列需要Slug。我不确定您是否可以使用当前的方法传递一组段塞。您当然可以使用tax_query array.

顺便说一句,使用当前的方法,您应该将税名设置为“news\\u category”,而不是“news\\u categories”,但这没有实际意义。

结束