更新帖子元正在向我的序列化数组添加一个值

时间:2016-02-17 作者:user1048676

我有以下选择值:

<select name="vibe_quiz_tags[]" id="vibe_quiz_tags" multiple="" class="chzn-select chosen select2-hidden-accessible" tabindex="-1" aria-hidden="true">
   <option value="">Select Taxonomy</option>
   <option value="4">Test1</option>
   <option value="5">Test2</option>
</select>
我发布这些变量并用以下代码序列化它们:

$categories = serialize($_POST["vibe_quiz_tags"]);
echo $categories;
然后在输出时得到以下代码:
a:2:{i:0;s:1:"4";i:1;s:1:"5";}

我用以下内容更新帖子元:

update_post_meta($quiz_id, \'vibe_quiz_tags\', $categories);
当它被插入数据库时,它会添加一个s:30 在一开始。以下是数据库中实际存储的内容:
s:30:"a:2:{i:0;s:1:"4";i:1;s:1:"5";}";

为什么wordpress要添加s:30 一开始?

1 个回复
SO网友:Johano Fierra

当已经序列化的字符串再次被序列化时,就会发生这种情况。

代替

$categories = serialize($_POST["vibe_quiz_tags"]);
使用

$categories = $_POST["vibe_quiz_tags"];
编辑:

如所述czerspalace 在评论中Function Reference for update_post_meta 声明“这应该是原始的,而不是针对数据库查询进行清理”。

相关推荐

如何修改WP_INCLUDE/BLOCKS/LATEST_posts.php

我是WordPress开发的初学者,希望得到一些帮助。我在一个简单的WordPress网站上工作。基本上,用户希望在主页上显示最新的帖子。我使用了最新帖子块,并将其设置为显示整个帖子内容,现在用户不希望帖子标题链接到单个帖子页面(因为帖子的内容显示在主页上)。如何安全地修改模板文件,使其像h2标记一样使用,而不是在主题中使用的href标记。我知道您可以创建子主题并修改wp_content 文件,但我不确定如何处理中的文件wp_include. 我读到一些关于修改functions.php 但我不确定,如果