WordPress无法识别元数据

时间:2012-04-20 11:18:04

标签: wordpress metadata

我已将新构建的WordPress站点从远程服务器的子目录移动到根目录。我有几个自定义帖子类型与元数据相关联,包括图像元数据(即文件和URL)。显然我不得不从URL中删除子目录。我使用替换SQL查询。

现在wordpress无法识别元数据。当我写下面的代码时:

 $img = get_post_meta($post->ID,"mf_logo",true);
 var_dump($img);

我得到“bool(false)”。我试图上传一个新图像,它正在显示。然后我通过My​​SQL手动更改了它的URL,并且再次无法识别它。

重要的是要注意问题只发生在数组形式的元数据中,而不是“普通”元数据

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

使用元数据(update_post_metaget_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放在自己的目录中并使其可以从根目录访问,而不会断开链接?

看看这里:http://codex.wordpress.org/Giving_WordPress_Its_Own_Directory#Using_a_pre-existing_subdirectory_install

相关问题