Wordpress WP_使用数组变量查询术语


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'),
            ),
        )
    );

然后它就可以正常工作了。我就是想不通。

感谢您的帮助。

谢谢,Codarz

$data已经是一个数组,并根据需要进行格式化。只需设置'terms' => array_values($data)