我已将新构建的WordPress站点从远程服务器的子目录移动到根目录。我有几个自定义帖子类型与元数据相关联,包括图像元数据(即文件和URL)。显然我不得不从URL中删除子目录。我使用替换SQL查询。
现在wordpress无法识别元数据。当我写下面的代码时:
$img = get_post_meta($post->ID,"mf_logo",true);
var_dump($img);
我得到“bool(false)”。我试图上传一个新图像,它正在显示。然后我通过MySQL手动更改了它的URL,并且再次无法识别它。
重要的是要注意问题只发生在数组形式的元数据中,而不是“普通”元数据
非常感谢您的帮助。
答案 0 :(得分:1)
使用元数据(update_post_meta
,get_post_meta
...)数组将在db中自动序列化:
http://codex.wordpress.org/Function_Reference/update_post_meta
传递的数组将被序列化为字符串。
你不能简单地替换序列化数组中的字符串:
$data = array('key'=>'value');
echo serialize($data);
这将输出:a:1:{s:3:"key";s:5:"value";}
如果您只是用更短/更长的字符串替换 key 或 value ,il将会破坏数据:
a:1:{s:3:"key";s:5:"replace";}
不正确a:1:{s:3:"key";s:7:"replace";}
是正确的您可以制作批处理来处理此问题。
但在此之前,您是否知道可以将wordpress放在自己的目录中并使其可以从根目录访问,而不会断开链接?