【问题标题】:Using get_pages() in wordpress is stripping out my <p> tags在 wordpress 中使用 get_pages() 正在剥离我的 <p> 标签
【发布时间】:2011-06-20 00:38:13
【问题描述】:

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

 <?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;
  }
 ?>

编辑:Alex 很好地提供了答案。下面的解决方案。

 <?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;
  }
 ?>

【问题讨论】:

  • 这个解决方案对我有用,谢谢诺亚

标签: php wordpress loops


【解决方案1】:

您需要过滤内容。

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

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

如果您调用 setup_postdata() 或使用循环中的内容,这将自动发生。

【讨论】:

    【解决方案2】:

    出于某种原因,WordPress 不喜欢 p 元素。它的所见即所得编辑器从不(或很少)插入它们。

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

    【讨论】:

    • 啊,当然是 wpautop()。我花了几次尝试以正确的语法修复它,但我明白了。我会用答案更新问题。谢谢。
    • 在下面查看我的答案,我认为这是“正确”的做法。它与 p 标签无关。
    • @addedlovely 如果 wrong 输出缺少p 标签,它与它们有何关系?
    • 因为整个内容没有被过滤,所以它不会显示对 the_content() 的正常调用。这不仅仅是 P 标签,这就是我想说的。
    猜你喜欢
    • 2017-05-06
    • 2013-12-19
    • 1970-01-01
    • 2018-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-31
    • 2011-04-02
    相关资源
    最近更新 更多