php - 如何使用 ACF 复选框值进行 meta_query,因为它们将自己存储为数组?
问题描述
我有一个自定义帖子类型“产品”,我为“选择类别”字段创建了 4 个复选框选项,用户可以一次选择多个选项。出于某种原因,我没有使用分类法对产品进行分类。
因此,当我执行 meta_query 时,它不会产生任何结果。基本上,我已经为自定义帖子类型“产品”中的每个产品选择了类别,但是 ACF 将它的复选框值存储在数组中,并且 meta_query 无法整体搜索该数组。但是它可以从数组中搜索。我的代码如下:
$args = array(
'post_type' => 'fproduct',
'meta_query' => array(
array(
'key' => 'select_product_categories',
'value' => array('Indoor Games', 'Property Management'),
'compare' => 'IN',
),
),
);
// query
$wp_query = new WP_Query( $args );
echo "<pre>"; print_r($wp_query); echo "</pre>"; die;
那么如何搜索以便复选框可以工作,我也无法在模板上获取复选框值,因为它适用于不同产品的帖子类型。
解决方案
我已经解决了我的问题,因为复选框存储在序列化数组中,所以代替'IN','LIKE'将起作用,所以这里是查询 -
$args = array(
'post_type' => 'fproduct',
'meta_query' => array(
array(
'key' => 'select_product_categories',
'value' => array('"Indoor Games"', '"Property Management"'),
'compare' => 'LIKE',
),
),
);
推荐阅读
- vue.js - 在表格中使用 v-for
- javascript - 如何保存用户是否单击了按钮,如果是,则运行函数
- c# - 通过其他表单的数据范围更新列表框不起作用?
- python - python:可以从命令行导入包,但不能从 jupyter notebook
- c - cs50 - 问题集 3 多个 - 代码编译失败
- java - 在java中初始化返回nulll后访问方法外的值
- python - 使用 C++ 在 TSV 中读取后 PyImport_Import 分段错误
- ansible - 如何使用 Ansible 自动接受适用于 unix 的 MS ODBC 的 EULA?
- api - 您可以仅通过 API 测试使用 Paypal 付款(没有界面)吗?
- java - Java - 如何将 ArrayList 输入拆分为日期和字符串,然后进行比较?