1

我正在使用 wp_insert_post 将帖子批量插入 Wordpress,根据http://codex.wordpress.org/Function_Reference/wp_insert_post似乎该方法对提供的内容进行了许多标签操作,例如,<br>如果它会替换标签\n在字符串中查找换行符。我想知道我们如何才能关闭此功能,因为在我的情况下,我已经对所有内容进行了预处理,我希望 Wordpress 将它们按原样处理。kses_remove_filters()和线是我试图解决这个问题的'post_content_filtered' => true,尝试,但它似乎不起作用。

kses_remove_filters();
$my_post = array(
'post_title' => wp_strip_all_tags($json_str['title'][0]),
'post_content' => $json_str['content'],
'post_date' => $json_str['pdate'],
'post_name' => $json_str['alias'][0],
'post_status' => 'publish',
'post_author' => 1,
'post_category' => array(2, $catid),
'post_content_filtered' => true,
);
wp_insert_post();
4

1 回答 1

0

从文档中:

wp_insert_post() 通过 sanitize_post() 传递数据,它本身处理所有必要的清理和验证(kses 等)。

wp-includes/post.php~394 行中,将此行注释掉:

$_post = sanitize_post( $post, 'raw' );

但是破解核心文件通常是个坏主意。

于 2013-07-16T18:41:05.033 回答