如何显示 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->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: Not Found'); ?></h3>
<?php endif; ?>
注意:
在显示内容方面—— i) 如果您需要启用具有不同功能的评论,则 cmets_template() 函数是可选用途。
ii) _e() 函数也是可选的,但比仅通过 <p>
显示文本更有意义和有效。虽然可以创建首选的风格化 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 页面内容?的主要内容,如果未能解决你的问题,请参考以下文章