web-dev-qa-db-ja.com

ポストメタ値の配列を更新/削除するにはどうすればいいですか?

私はポストメタを使っています。

$meta = get_post_meta(99,'_mymeta',true);
$value = $meta['somekey'];
echo $value;

しかし$meta['somekey']を他の値に更新するにはどうすればいいですか?

update_post_meta を使用してサブメタキーを更新するにはどうすればよいですか?(Idk、How ppl call)

update_post_meta(99, '_mymeta["somekey"]', 'myAnotherValue');

?????

3
l2aelba

配列であるpost metaを更新するには、元の値を取得し、必要な値を変更して、それをもう一度更新する必要があります。例えば

$list_of_values = get_post_meta($post_id, '_list_values', true);
if(!empty($list_of_values)) {
    $list_of_values["some_prop"] = "new value";
}
update_post_meta($post_id, '_list_values', $list_of_values);
5
Angela