作为标题,如何防止wp不在帖子中编码html?
目前我只需要阻止'&'更改为'&
'
结果需要看起来像选择了html选项卡模式的编辑器。
$content = $wpdb->get_row("SELECT post_content FROM $wpdb->posts WHERE ID=xxx");
$content = str_replace('amp;','',$content->post_content);//remove amp;
$wpdb->query("UPDATE $wpdb->posts SET post_content = $content WHERE ID = xxx;");
但该代码仍然编码html。
更新:
以及如何与wp_insert_post()
函数
更新[求助]:stackexchange
$content = get_post_field('post_content', XXX, 'raw');
$content = str_replace('amp;', '', $content);
$wpdb->update( $wpdb->posts, array( 'post_content' => $content ), array( 'ID' => XXX ) );
答案 0 :(得分:3)
<?php $content = htmlentities( html_entity_decode($content) ); ?>
此代码将打印HTML标记,然后解码HTML实体(例如&
到&
)。
哦,并且wp_insert_post()
,请执行:
// Create post object
$my_post = array(
'post_content' => $content,
'post_id' => POST_ID # update the post with the same ID as POST_ID
);
您可以将转义功能用作短代码:
function escape_html_func( $attrs, $content = "" ) {
return htmlentities( html_entity_decode($content) );
}
add_shortcode( 'escape', 'escape_html_func' );
与博文中的[escape]<span>Hello!</span>[/escape]
类似。这是内容过滤器的意思吗?