Php 使用ACF多选字段的WP高级搜索
无法确定如何在WP高级搜索表单中使用具有多个值的ACF自定义字段 我正在使用高级自定义字段和WP Advanced search进行分面搜索,我遇到的大多数问题我都能自己解决,或者最终找到做类似事情的人 然而,到目前为止,我找不到任何关于如何使用具有多个值的自定义字段的示例。我不知道如何设置我的WPAS表单来处理每个单独的值,或者是否可能 此自定义字段仅存储post的单个值,在这种情况下,wp_Posteta中的meta_值正好是预期的字符串,即Condo、Townhouse、Distached等。这可以正常工作Php 使用ACF多选字段的WP高级搜索,php,wordpress,advanced-custom-fields,Php,Wordpress,Advanced Custom Fields,无法确定如何在WP高级搜索表单中使用具有多个值的ACF自定义字段 我正在使用高级自定义字段和WP Advanced search进行分面搜索,我遇到的大多数问题我都能自己解决,或者最终找到做类似事情的人 然而,到目前为止,我找不到任何关于如何使用具有多个值的自定义字段的示例。我不知道如何设置我的WPAS表单来处理每个单独的值,或者是否可能 此自定义字段仅存储post的单个值,在这种情况下,wp_Posteta中的meta_值正好是预期的字符串,即Condo、Townhouse、Distached
$args['fields'][] = array( 'type' => 'meta_key',
'meta_key' => 'property_style',
'format' => 'multi-select',
'compare' => 'LIKE',
'data_type' => 'ARRAY<CHAR>',
'relation' => 'OR',
'label' => 'Property Style',
'values' => array(
'Condo Townhouse' => 'Condo Townhouse',
'Condo Apartment' => 'Condo Apartment',
'Detached' => 'Detached',
'Semi-Detached' => 'Semi-Detached',
'Freehold Townhouse' => 'Freehold Townhouse',
'Link' => 'Link',
'Other' => 'Other'
)
);
我知道我做错了,甚至找不到任何关于我应该做什么的信息。我不确定WP Advanced Search是否仍在开发中,但它仍与最新版本的WP一起运行,因此这不是我真正关心的问题。我不确定我做了什么不同,但这似乎起到了作用。。。我想我从一开始就是对的,但可能是因为其他原因导致了其他地方的问题 无论如何,它的语法与常规ACF自定义字段的语法相同,只有一个值
$args['fields'][] = array( 'type' => 'meta_key',
'meta_key' => 'basement',
'format' => 'multi-select',
'compare' => 'LIKE',
'data_type' => 'ARRAY<CHAR>',
'relation' => 'OR',
'label' => 'Basement',
'values' => array(
'Apartment' => 'Apartment',
'Crawl Space' => 'Crawl Space',
'Finished Walk Out' => 'Finished Walk Out',
'Finished' => 'Finished',
'Full' => 'Full',
'Half' => 'Half',
'None' => 'None',
'Other' => 'Other',
'Partial Basement' => 'Partial Basement',
'Partially Finished' => 'Partially Finished',
'Separate Entrance' => 'Separate Entrance',
'Unfinished' => 'Unfinished',
'Walk Out' => 'Walk Out',
'Walk-Up' => 'Walk-Up'
)
);
$args['fields'][]=数组('type'=>'meta_key',
“meta_键”=>“地下室”,
'格式'=>'多选',
'比较'=>'类似',
“数据类型”=>“数组”,
'关系'=>'或',
“标签”=>“地下室”,
'值'=>数组(
“公寓”=>“公寓”,
“爬网空间”=>“爬网空间”,
“完成退出”=>“完成退出”,
“已完成”=>“已完成”,
“满”=>“满”,
“一半”=>“一半”,
“无”=>“无”,
“其他”=>“其他”,
“局部基底”=>“局部基底”,
“部分完成”=>“部分完成”,
“独立入口”=>“独立入口”,
“未完成”=>“未完成”,
“退出”=>“退出”,
“向上走”=>“向上走”
)
);
编辑:我明白了为什么我认为这是错误的。当我处理通过后端输入的值时,它开始工作。我在导入程序中生成的值缺少冒号
ACF生成的序列化数组:a:2:{i:0;s:9:“单元”;i:1;s:11:“爬网空间”}
我的导入程序的“序列化数组”:a:2{i:0;s:8:“完成”;i:1;s:4:“完整”
(在“a:2”之后没有冒号)
也许如果我真的像一个普通人一样序列化了一个数组,而不是像一个怪人一样通过字符串操作来完成它,我就永远不会花这么多时间来修复工作代码。让这对我们大家来说是一个教训,但对我来说更重要。我不确定我做了什么不同的事情,但这似乎起到了作用……我想我是ri从一开始就是这样,但可能是因为其他原因导致了其他地方的问题 无论如何,它的语法与常规ACF自定义字段的语法相同,只有一个值
$args['fields'][] = array( 'type' => 'meta_key',
'meta_key' => 'basement',
'format' => 'multi-select',
'compare' => 'LIKE',
'data_type' => 'ARRAY<CHAR>',
'relation' => 'OR',
'label' => 'Basement',
'values' => array(
'Apartment' => 'Apartment',
'Crawl Space' => 'Crawl Space',
'Finished Walk Out' => 'Finished Walk Out',
'Finished' => 'Finished',
'Full' => 'Full',
'Half' => 'Half',
'None' => 'None',
'Other' => 'Other',
'Partial Basement' => 'Partial Basement',
'Partially Finished' => 'Partially Finished',
'Separate Entrance' => 'Separate Entrance',
'Unfinished' => 'Unfinished',
'Walk Out' => 'Walk Out',
'Walk-Up' => 'Walk-Up'
)
);
$args['fields'][]=数组('type'=>'meta_key',
“meta_键”=>“地下室”,
'格式'=>'多选',
'比较'=>'类似',
“数据类型”=>“数组”,
'关系'=>'或',
“标签”=>“地下室”,
'值'=>数组(
“公寓”=>“公寓”,
“爬网空间”=>“爬网空间”,
“完成退出”=>“完成退出”,
“已完成”=>“已完成”,
“满”=>“满”,
“一半”=>“一半”,
“无”=>“无”,
“其他”=>“其他”,
“局部基底”=>“局部基底”,
“部分完成”=>“部分完成”,
“独立入口”=>“独立入口”,
“未完成”=>“未完成”,
“退出”=>“退出”,
$args['fields'][] = array( 'type' => 'meta_key',
'meta_key' => 'basement',
'format' => 'multi-select',
'compare' => 'LIKE',
'data_type' => 'ARRAY<CHAR>',
'relation' => 'OR',
'label' => 'Basement',
'values' => array(
'Apartment' => 'Apartment',
'Crawl Space' => 'Crawl Space',
'Finished Walk Out' => 'Finished Walk Out',
'Finished' => 'Finished',
'Full' => 'Full',
'Half' => 'Half',
'None' => 'None',
'Other' => 'Other',
'Partial Basement' => 'Partial Basement',
'Partially Finished' => 'Partially Finished',
'Separate Entrance' => 'Separate Entrance',
'Unfinished' => 'Unfinished',
'Walk Out' => 'Walk Out',
'Walk-Up' => 'Walk-Up'
)
);