在wordpress中使用get_pages()会删除我的<p>标签</p>

时间:2011-06-20 00:38:14

标签: php wordpress loops

我使用get_pages()来获取每个顶级页面的标题和内容,并将其显示在一个页面上。不幸的是,它剥离了我的所有<p>标签,我不知道为什么。如果<p>标记具有样式或类,它将保留它,但所有正常的<p>标记都会被删除。这是我的代码:

 <?php 
  $pages = get_pages('parent=0'); 
  foreach ($pages as $pagg) {
    $option = '<div class="section">';
    $option .= $pagg->post_title;
    $option .= $pagg->post_content;
    $option .= '</div>';
    echo $option;
  }
 ?>
编辑:亚历克斯很乐意提供答案。以下解决方案。

 <?php
  $pages = get_pages('parent=0'); 
  foreach ($pages as $pagg) {
    $option = '<div class="section">';
    $option .= $pagg->post_title;
    $option .= wpautop($pagg->post_content);
    $option .= '</div>';
    echo $option;
  }
 ?>

2 个答案:

答案 0 :(得分:1)

您需要过滤内容。

apply_filters('the_content', $pagg->post_content);

这将返回格式化文本,已处理的短代码和有效的omebeds。

如果您调用setup_postdata()或使用循环中的内容,则会自动执行此操作。

答案 1 :(得分:0)

由于某种原因,WordPress不喜欢p个元素。它的WYSIWYG编辑器从不(或很少)插入它们。

通过wpautop()运行字符串以添加p元素。