php - 带数组变量的 WordPress WP_Query 术语

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

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

感谢任何帮助。

谢谢, 科达兹

最佳答案

$data 已经是一个数组并按要求格式化。只需设置 'terms' => array_values($data)

关于php - 带数组变量的 WordPress WP_Query 术语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40359074/

相关文章:

linux - 指向 Amazon Linux AMI 测试页面而不是 WP 站点的 AWS EC2 实例

php - 使用 wp_remote_get 在 WordPress 中处理 XML

php - Wordpress Logo 图像并不总是可点击

php - Codeigniter 3 查询生成器自动引用错误

php - 创建订单时将 WooCommerce 订单状态从处理中设置为待处理

php - 在 MySQL [PHP] 中存储发布元数据的最佳实践

php - 如何更改 WordPress 中的 ABSPATH?

php - 根据选中的单选按钮显示或隐藏 WooCommerce 结帐字段

php - 子菜单不复制 WordPress 下拉菜单中的样式化

php - 从过程代码转向oop