添加新帖子时,POST_CONTENT是否正在剥离HTML?

时间:2016-12-23 作者:tryin2learn

我的职能如下。php文件:

$post_content = "

Image: <img src=\'$featured_image\' />

Address: $event_address 

Zip: $event_zip

Region: $event_region

Country: $date_country
    ";
这很好用。。。但我需要这样的东西:

 <div class=\'activity-listing-content\'>
 <div class=\'activity-listing-item\'>
 $image
 <div class=\'activity-listing-item-details\'>
 <span class=\'address\'>$event_address, $event_region, $event_zip</span>
 </div></div>
 </div>
每当我创建帖子时,上面的所有HTML都会被删除。我研究了使用wpautop和其他方法,但它们都不起作用。wordpress只是故意删除所有html吗?还是这种方法做不到?

1 个回复
SO网友:C C

当WP插入帖子时,它所做的一件事就是检查当前用户的功能,以及允许使用哪些html标记。有两种方法可以修改此内容:

Method 1: wp_kses_allowed_html hook

在给定上下文的情况下,可以使用以下筛选器修改允许的html标记集:

https://codex.wordpress.org/Function_Reference/wp_kses_allowed_html

Method 2: unfiltered_html capability

这是一个范围更广的解决方案,并为用户添加了将html所需内容放入帖子的功能。

请注意,只需将该功能添加到登录用户将有权访问的角色中,就需要小心了,因为这可能会造成意外的安全暴露。另一种方法是在需要时,在上下文中使用map_meta_cap hook.

这样,这种能力是暂时的,只会在需要的时候使用。