带有数组变量的 Wordpress WP_Query 个术语
Wordpress WP_Query terms with array variable
我正在尝试根据标签显示帖子。
我有一些功能,当我点击术语按钮时,它们会发送一组格式如下的数据:
array(
[0] => 'some tag name',
[1] => 'another tag name'
)
在下面的函数中,我将其格式化为如下所示:
'timbermode','bathroom'
然后我将该数据传递到 "terms" 部分,但没有返回任何数据。
function ajax_filter_get_posts( $taxonomy ) {
$taxonomy = $_POST['taxonomy'];
$data = json_decode(stripslashes($taxonomy));
$stringData = '"' . implode('","', $data) . '"');
//$stringData = "array('" . implode("','", $data) . "')";
// WP Query
$args = array(
'post_type' => 'gallery',
'posts_per_page' => 8,
'tax_query' => array(
array(
'taxonomy' => 'gallery_tag',
'field' => 'slug',
'operator' => 'IN',
'terms' => array($stringData),
),
)
);
$query = new WP_Query( $args );
echo "{$query->request}";
}
如果我像这样手动传递条款:
// WP Query
$args = array(
'post_type' => 'gallery',
'posts_per_page' => 8,
'tax_query' => array(
array(
'taxonomy' => 'gallery_tag',
'field' => 'slug',
'operator' => 'IN',
'terms' => array('some term', 'another term'),
),
)
);
然后就可以正常工作了。我就是想不通。
感谢任何帮助。
谢谢,
科达兹
$data
已经是一个数组并按要求格式化。只需设置 'terms' => array_values($data)
.
我正在尝试根据标签显示帖子。
我有一些功能,当我点击术语按钮时,它们会发送一组格式如下的数据:
array(
[0] => 'some tag name',
[1] => 'another tag name'
)
在下面的函数中,我将其格式化为如下所示:
'timbermode','bathroom'
然后我将该数据传递到 "terms" 部分,但没有返回任何数据。
function ajax_filter_get_posts( $taxonomy ) {
$taxonomy = $_POST['taxonomy'];
$data = json_decode(stripslashes($taxonomy));
$stringData = '"' . implode('","', $data) . '"');
//$stringData = "array('" . implode("','", $data) . "')";
// WP Query
$args = array(
'post_type' => 'gallery',
'posts_per_page' => 8,
'tax_query' => array(
array(
'taxonomy' => 'gallery_tag',
'field' => 'slug',
'operator' => 'IN',
'terms' => array($stringData),
),
)
);
$query = new WP_Query( $args );
echo "{$query->request}";
}
如果我像这样手动传递条款:
// WP Query
$args = array(
'post_type' => 'gallery',
'posts_per_page' => 8,
'tax_query' => array(
array(
'taxonomy' => 'gallery_tag',
'field' => 'slug',
'operator' => 'IN',
'terms' => array('some term', 'another term'),
),
)
);
然后就可以正常工作了。我就是想不通。
感谢任何帮助。
谢谢, 科达兹
$data
已经是一个数组并按要求格式化。只需设置 'terms' => array_values($data)
.