我正在构建一个wordpress插件,当管理员保存新帖子时,它会起作用。
我需要获取该帖子的内容,并且我正在检索$_POST['content']
和$_POST['post_content']
这里的问题是我只获得该内容中的文本,我需要html。
这样,如果我期待<p>Lorem</p><p>ipsum</p><p>dolor</p>
这样的话,我会得到Lorem ipsum dolor
。
有人能帮助我吗?
由于
答案 0 :(得分:4)
好吧,正如@ChrisCarson指出的那样,Wordpress默认情况下不会在数据库中存储段落标记。
所以,我需要做的是用自己解析段落:
$content = explode(PHP_EOL . PHP_EOL, $this->request['content']);
$htmlcontent = '';
foreach($content as $line){
$htmlcontent .= '<p>' . str_replace(PHP_EOL, '<br />' , $line) . '</p>';
}
非常感谢
答案 1 :(得分:1)
默认情况下,Wordpress不会在数据库中存储段落标记。试试这个......
$content = trim(stripslashes($_POST["post_content"]));
$html = apply_filters("the_content", $content);
答案 2 :(得分:1)
来自codex:http://codex.wordpress.org/Template_Tags/the_content#Alternative_Usage
如果要获得the_content()返回的相同输出,请使用 以下代码:
<?php $content = apply_filters('the_content', $content); $content = str_replace(']]>', ']]>', $content); ?>