Post元数据中有一些值存储为多维数组。我想更新他们的一些数据。
以下是使用<?php the_meta(); ?>
voter: a:1:{s:5:"voter";a:5:
{s:7:"post_id";s:6:"219585";s:8:"voter_id";s:4:"1540";s:8:"voter_ip";s:13:"182.4
8.238.86";s:9:"author_id";s:4:"1540";s:4:"vote";s:1:"1";}},
a:1:{s:5:"voter";a:5:
{s:7:"post_id";s:6:"219585";s:8:"voter_id";s:3:"832";s:8:"voter_ip";s:13:"182.48
.238.86";s:9:"author_id";s:4:"1540";s:4:"vote";s:2:"-1";}},
a:1:{s:5:"voter";a:5:
{s:7:"post_id";s:6:"219585";s:8:"voter_id";s:2:"10";s:8:"voter_ip";s:13:"182.48.
238.86";s:9:"author_id";s:4:"1540";s:4:"vote";s:1:"1";}}
现在我想更新
vote
或
voter_ip
哪里
user_id
is 832或1540。我试过使用
update_post_meta()
但它正在更新一切。
那么,如何更新多维数组中存储的单个值的后置元呢?
Update:
数组使用
the-meta()
voter: a:1:{s:5:"voter";a:5:{s:7:"post_id";s:6:"219585";s:8:"voter_id";s:3:"832";s:8:"voter_ip";s:13:"182.48.238.86";s:9:"author_id";s:4:"1540";s:4:"vote";s:1:"1";}},
a:1:{s:5:"voter";a:5:{s:7:"post_id";s:6:"219585";s:8:"voter_id";s:4:"1540";s:8:"voter_ip";s:13:"182.48.238.86";s:9:"author_id";s:4:"1540";s:4:"vote";s:2:"-1";}}, , ,
a:1:{s:5:"voter";a:5:{s:7:"post_id";s:6:"219585";s:8:"voter_id";s:3:"832";s:8:"voter_ip";s:13:"182.48.238.86";s:9:"author_id";s:4:"1540";s:4:"vote";s:1:"1";}},
a:1:{s:5:"voter";a:5:{s:7:"post_id";s:6:"219585";s:8:"voter_id";s:4:"1540";s:8:"voter_ip";s:13:"182.48.238.86";s:9:"author_id";s:4:"1540";s:4:"vote";s:2:"-1";}}
数组使用
print_r()
Array( [0] => Array ( [voter] => Array ( [post_id] => 219585 [voter_id] =>
832 [voter_ip] => 182.48.238.86 [author_id] => 1540 [vote] => 1 ) ) [1] =>
Array ( [voter] => Array ( [post_id] => 219585 [voter_id] => 1540 [voter_ip]
=> 182.48.238.86 [author_id] => 1540 [vote] => -1 ) ) [2] => [3] => [4] =>
Array ( [voter] => Array ( [post_id] => 219585 [voter_id] => 832 [voter_ip]
=> 182.48.238.86 [author_id] => 1540 [vote] => 1 ) ) [5] => Array ( [voter]
=> Array ( [post_id] => 219585 [voter_id] => 1540 [voter_ip] =>
182.48.238.86 [author_id] => 1540 [vote] => -1 ) ))