wp_insert_post没有正确插入带有撇号的字符串

时间:2014-06-03 05:08:41

标签: php arrays wordpress foreach

我正在编写的脚本中使用wp_insert_post(由于多种原因),并且导致任何包含撇号的字符串被截断为该字符(包括字符)。这是我要测试它的代码:

$question = "If you’re in need, this is who you call";

echo $question."<br />";

$post = array(
    'post_title'     => $question,
    'post_status'    => 'publish',
    'post_type'      => 'question'
);  

echo $post['post_title'];

$the_post_id = wp_insert_post($post);

这很奇怪,因为当我回显两个字符串时,两端的回显正确的东西,所以我把它分离到导致问题的wp_insert_post函数。当我在WordPress中查看它时,标题只是'如果你'然后结束。

我在这里发现了类似的问题:

http://premium.wpmudev.org/forums/topic/q-wp_insert_post-truncates-post-content-on-quotes-is-there-a-proper-way-to-escape-these-things

但该页面似乎没有任何解决方案。关于这里发生了什么以及如何解决的任何想法?不知道为什么它会导致它。我正在研究它是否与我的代码中的其他内容有关但似乎它不应该因为数组元素在wp_insert_post()函数之前回显时似乎很好。

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

将撇号替换为html 5 symbolt,例如&acute;并尝试存储这对我有用。

答案 1 :(得分:-2)

    $my_post = array(
           'post_title'    => 'My post',
           'post_content'  => 'This is my post.',
           'post_status'   => 'publish',
           'post_author'   => 1,
           'post_category' => array(8,39)
           );

              // Insert the post into the database
                 wp_insert_post( $my_post );