如何显示 wordpress 页面内容?

Posted

技术标签:

【中文标题】如何显示 wordpress 页面内容?【英文标题】:How do I display a wordpress page content? 【发布时间】:2011-07-24 20:36:49 【问题描述】:

我知道这真的很简单,但由于某种原因它并没有出现在我身上,而且谷歌今天也没有帮助我。

我想输出页面内容,我该怎么做?

我以为是这样的:

<?php echo the_content(); ?>

【问题讨论】:

大多数 wordpress 功能只有在您处于“循环”中时才能正常工作,codex.wordpress.org/The_Loop,尤其是在您尝试显示内容时 另外,你不需要“回声”。 the_content() 隐式回显。 这些答案为我提供了页面内容 - 看起来都很有用 - (使用页面 ID 作为帖子)无需搞乱循环或查询 - 将其放在循环上方 wordpress.stackexchange.com/questions/101823/…最简单的答案是$post = get_post( 42 ); $output = apply_filters( 'the_content', $post-&gt;post_content ); echo $output; 【参考方案1】:

@Marc B 感谢您的评论。帮助我发现了这一点:

<?php if ( have_posts() ) : while ( have_posts() ) : the_post();
the_content();
endwhile; else: ?>
<p>Sorry, no posts matched your criteria.</p>
<?php endif; ?>

【讨论】:

我试过了,但它显示所有帖子的内容,但不显示当前页面。 这行得通。但是,为什么 PHP 社区喜欢使用不必要的 php 标签?读起来真的很混乱,没有必要。如果有人感兴趣,我已经用更简洁的语法发布了这个答案的返工。不是仇恨者,因为我将赞成这个作为答案。【参考方案2】:

这样更简洁:

<?php echo get_post_field('post_content', $post->ID); ?>

还有更多:

<?= get_post_field('post_content', $post->ID) ?>

【讨论】:

谢谢,这比预期的更难找到。 只有启用 PHP 短代码后,最后一个才有效 虽然通常的the_content() 是正确的,但在某些自定义帖子模板中,您的建议要好得多。不需要wp_query_reset。谢谢!【参考方案3】:

@Sydney 尝试在调用循环之前放置 wp_reset_query()。 这将显示您页面的内容。

<?php
    wp_reset_query(); // necessary to reset query
    while ( have_posts() ) : the_post();
        the_content();
    endwhile; // End of the loop.
?>

编辑:如果您以前运行过其他一些循环,请尝试此操作。 放置 wp_reset_query();在你认为最合适的地方,但在你调用这个循环之前。

【讨论】:

【参考方案4】:

对于那些不喜欢到处乱扔 php 标签的可怕代码的人...

<?php
if (have_posts()):
  while (have_posts()) : the_post();
    the_content();
  endwhile;
else:
  echo '<p>Sorry, no posts matched your criteria.</p>';
endif;
?>

【讨论】:

【参考方案5】:

只需将此代码放在您的内容 div 中

<?php
// TO SHOW THE PAGE CONTENTS
    while ( have_posts() ) : the_post(); ?> <!--Because the_content() works only inside a WP Loop -->
        <div class="entry-content-page">
            <?php the_content(); ?> <!-- Page Content -->
        </div><!-- .entry-content-page -->

    <?php
endwhile; //resetting the page loop
wp_reset_query(); //resetting the page query
?>

【讨论】:

【参考方案6】:

页面内容可以轻松展示完美这样:

<?php if(have_posts()) : ?>
    <?php while(have_posts())  : the_post(); ?>
      <h2><?php the_title(); ?></h2>                        
      <?php the_content(); ?>          
      <?php comments_template( '', true ); ?> 
    <?php endwhile; ?>                   
      <?php else : ?>                       
        <h3><?php _e('404 Error&#58; Not Found'); ?></h3>
<?php endif; ?>         

注意:

在显示内容方面—— i) 如果您需要启用具有不同功能的评论,则 cmets_template() 函数是可选用途。

ii) _e() 函数也是可选的,但比仅通过 &lt;p&gt; 显示文本更有意义和有效。虽然可以创建首选的风格化 404.php 以进行重定向。

【讨论】:

【参考方案7】:

您可以通过添加这个简单的 php 代码块来实现这一点

<?php if ( have_posts() ) : while ( have_posts() ) : the_post();
      the_content();
      endwhile; else: ?>
      <p>!Sorry no posts here</p>
<?php endif; ?>

【讨论】:

以上是关于如何显示 wordpress 页面内容?的主要内容,如果未能解决你的问题,请参考以下文章

Wordpress 如何将页面链接到博客内容

WordPress网站的响应弹出窗口

WordPress获取某个分类关联的标签

WordPress使用必应每日一图作登录页面背景

如何从 Gatsby WordPress 网站的页面内容查询中排除作者和日期

如何使用 wordpress react API 在 react 中显示插件内容