我想我会把元数据保存在数据库的多个字段上,因为我一直在分配pre_get_post
查询筛选。其中的一些功能用于搜索/过滤post元数据,如果我开始将值保存为双序列化值,会不会让事情变得非常困难。如果我想在不久的将来保存单一的、更简单的价值观,那么这是一个好习惯。
为了解决我遇到的一些问题。。。我选择了NOT 使用update_post_meta()
保存时,只需先删除所有值,然后直接添加即可。先检查旧值,然后再检查新值,然后对其执行操作,这变得太复杂了。可能不是最好的做法。
if(isset($_POST[$field[\'id\']])) {
$new = $_POST[$field[\'id\']];
}
//Store repeater fields as one dimentional array with same key meta fields
if(is_array($new) && isset($new[0])){
//DELETE EVERYTHING FIRST
delete_post_meta($post_id, $field[\'id\']);
foreach ($new as $key => $value) {
add_post_meta($post_id, $field[\'id\'], $value);
}
}