我认为,更可靠的解决方案是允许自定义字段“参与者”的多个值。您可以按如下方式存储
add_post_meta($post_id,\'participants\',\'value1\');
add_post_meta($post_id,\'participants\',\'value2\');
add_post_meta($post_id,\'participants\',\'value3\');
add_post_meta($post_id,\'participants\',\'value4\');
删除类似于
delete_post_meta($post_id,\'participants\',\'value1\');
然后,查询将更改为更简单的查询。
\'meta_query\' => array(
array(
\'key\' => \'participants\',
\'value\' => $user_id,
\'compare\' => \'=\',
),
)
如果要进行阵列实现,可以按以下方式存储值
$array = array(\'value1\',\'value2\',\'value3\');
update_post_meta($post_id,\'participants\',$array);
搜索可以这样做
\'meta_query\' => array(
array(
\'key\' => \'participants\',
\'value\' => \'"\'.$userid.\'"\',
\'compare\' => \'LIKE\',
),
)
Source 用于在序列化数组中搜索
这样,它将搜索整个ID,包括序列化数组中ID前后的双引号。不包括误报。