带有数组变量的Wordpress WP_Query术语

时间:2016-11-01 11:23:47

标签: php wordpress

我试图根据标签显示帖子。

我有一些功能,当我点击术语按钮时,他们会发送一系列数据格式,如下所示:

array(
   [0] => 'some tag name',
   [1] => 'another tag name'
)

在下面的函数中,我将其格式化为:

'timbermode','bathroom'

然后我将这些数据传递给"条款"部分,但没有任何东西返回。

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

1 个答案:

答案 0 :(得分:1)

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