更新POST元自定义字段与元键不匹配

时间:2016-07-03 作者:Carol.Kar

我正在尝试用更新我的acfupdate-post-meta:

//ga_analytics_settings
update_post_meta($my_post, \'ganalytics_settings\', serialize($ganalytics_settings));
$ganalytics_settings 是一个数组,我要存储它serialized 在现场内。

enter image description here

但是,我得到以下条件不满足(取自meta.php):

function update_metadata($meta_type, $object_id, $meta_key, $meta_value, $prev_value = \'\') {
    global $wpdb;

    if ( ! $meta_type || ! $meta_key || ! is_numeric( $object_id ) ) {
        return false; //I am getting here in, but I do not know why.
    }
有什么建议我可能会做错什么?

感谢您的回复!

1 个回复
最合适的回答,由SO网友:user1049961 整理而成

默认情况下,数组是序列化的,所以只需执行以下操作

update_post_meta($my_post, \'ganalytics_settings\', $ganalytics_settings);

https://codex.wordpress.org/Function_Reference/update_post_meta

$meta\\u value(mixed)(必选)自定义字段的新值。传递的数组将序列化为字符串。(这应该是原始的,而不是针对数据库查询进行清理)默认值:无

此外,请确保$my_post 是post ID,而不是post对象。

而且,如果要更新ACF字段,应该使用update_field 作用

https://www.advancedcustomfields.com/resources/update_field/