在首页上显示帖子

时间:2014-05-05 09:45:25

标签: php wordpress

我想在front-page.php模板上的wordpress网站上显示帖子。如何在不将其作为静态页面的情况下实现这一目标..?

    <div id="primary" class="site-content">

        <div id="content" role="main">

            <?php while ( have_posts() ) : the_post(); ?>

                <?php if( is_home() ) : ?>
                    <?php get_template_part( 'content' ); ?>
                <?php else : ?>
                    <?php get_template_part( 'content', 'page' ); ?>
                <?php endif; ?>

                <?php comments_template( '', true ); ?>

            <?php endwhile; // end of the loop. ?>

        </div><!-- #content -->
    </div><!-- #primary -->

2 个答案:

答案 0 :(得分:1)

容易走:) 这个将添加一个包含标题和短描述的5个帖子列表(阅读内联标记)(如果您将readmore标记设置为您的帖子)

<ul>
<?php $the_query = new WP_Query( 'showposts=5' ); ?> <!-- change the number "5" to the number of posts you want to display -->
<?php while ($the_query -> have_posts()) : $the_query -> the_post(); ?>
<li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>
<li><?php the_excerpt(__('(weiterlesen)')); ?></li> <!-- change "weiterlesen" to the value you want to display as "read more..." -->
<?php endwhile;?>
</ul>

或者这个将显示完整的内容并显示一个readmore标签,如果设置它。

<ul>
<?php $the_query = new WP_Query( 'showposts=5' ); ?><!-- change number of posts to be displayed here -->
<?php while ($the_query -> have_posts()) : $the_query -> the_post(); ?>
<li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>
<li><?php the_content(__('(weiterlesen)')); ?></li><!-- change the "read more" value by changing "weiter lesen..."
<?php endwhile;?>
</ul>

或者作为第三个选项 - 如果您没有设置readmore标签,以下内容将为每个帖子添加标题,摘录限制为200个字符。

<ul>
<?php $the_query = new WP_Query( 'showposts=5' ); ?><!-- change the number of posts here again -->
<?php while ($the_query -> have_posts()) : $the_query -> the_post(); ?>
<li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>
<li><?php echo substr(strip_tags($post->post_content), 0, 200);?></li><!-- change the 200 to the number of characters you want to display -->
<?php endwhile;?>
</ul>

希望这个能解决你的问题。

一切顺利 费边

答案 1 :(得分:0)

添加WP_Query以获取任何页面中的帖子。

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$wp_query = new WP_Query(array( 'post_type' => 'post', 'paged' => $paged,'posts_per_page' => get_option('posts_per_page')));

在下面添加此代码,然后循环获取所有帖子。 用户wp_reset_postdata();&amp; wp_reset_query();用于重置该查询。