如何在 Wordpress 主题中获取多个位置的帖子?
How to Get Posts in Multiple Places in Wordpress theme?
我真的是 wordpress 主题开发的新手,我想在 front-page.php
中获取最近的 10 篇文章和 index.php
中的所有文章(我不知道是否有更好的方法)其次是分页。
更新: 我想要一个显示 10 个帖子的 home page
和一个显示所有帖子的 articles page
。
这种做法对吗?如果是,我该怎么做?
经过一番研究,我找到了解决方案。
起初我创建了 2 个页面,名为 home
和 articles
,然后我更改了 Setting -> Reading
:
Front Page
->
home
和
Posts Page
->
articles
.
然后我将以下内容放在 index.php
as articles
页面中:
<?php
if (have_posts()) : while (have_posts()) : the_post();
get_template_part('content', get_post_format());
endwhile; endif;
?>
然后在 front-page.php
内部:
<?php
// the query
$wpb_all_query = new WP_Query(array('post_type' => 'post', 'post_status' => 'publish', 'posts_per_page' => 10)); ?>
<?php if ($wpb_all_query->have_posts()) : ?>
<!-- the loop -->
<?php while ($wpb_all_query->have_posts()) : $wpb_all_query->the_post(); ?>
<div class="post">
<div class="col-xs-12 col-lg-6">
<div class="panel panel-default ">
<div class="panel-body">
<div class="col-xs-4">
<a href="<?php the_permalink(); ?>">
<?php if (has_post_thumbnail()) : ?>
<img src="<?php the_post_thumbnail_url(); ?>" alt="">
<?php else: ?>
<img
src="<?php bloginfo('template_directory'); ?>/assets/image/placeholder.jpg"
alt="">
<?php endif; ?>
</a>
</div>
<div class="col-xs-8">
<div class="title">
<a href="<?php the_permalink(); ?>">
<h2><?php the_title(); ?></h2>
</a>
</div>
<div class="content">
<p><?php echo substr(get_the_content(), 0, 320); ?>...</p></div>
<div class="read-more">
<a href="<?php the_permalink(); ?>">Read More</a>
</div>
</div>
</div>
</div>
</div>
</div>
<?php endwhile; ?>
<!-- end of the loop -->
<?php wp_reset_postdata(); ?>
<?php else : ?>
<p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
<?php endif; ?>
最终它以我想要的方式工作。
我真的是 wordpress 主题开发的新手,我想在 front-page.php
中获取最近的 10 篇文章和 index.php
中的所有文章(我不知道是否有更好的方法)其次是分页。
更新: 我想要一个显示 10 个帖子的 home page
和一个显示所有帖子的 articles page
。
这种做法对吗?如果是,我该怎么做?
经过一番研究,我找到了解决方案。
起初我创建了 2 个页面,名为 home
和 articles
,然后我更改了 Setting -> Reading
:
Front Page
->
home
和
Posts Page
->
articles
.
然后我将以下内容放在 index.php
as articles
页面中:
<?php
if (have_posts()) : while (have_posts()) : the_post();
get_template_part('content', get_post_format());
endwhile; endif;
?>
然后在 front-page.php
内部:
<?php
// the query
$wpb_all_query = new WP_Query(array('post_type' => 'post', 'post_status' => 'publish', 'posts_per_page' => 10)); ?>
<?php if ($wpb_all_query->have_posts()) : ?>
<!-- the loop -->
<?php while ($wpb_all_query->have_posts()) : $wpb_all_query->the_post(); ?>
<div class="post">
<div class="col-xs-12 col-lg-6">
<div class="panel panel-default ">
<div class="panel-body">
<div class="col-xs-4">
<a href="<?php the_permalink(); ?>">
<?php if (has_post_thumbnail()) : ?>
<img src="<?php the_post_thumbnail_url(); ?>" alt="">
<?php else: ?>
<img
src="<?php bloginfo('template_directory'); ?>/assets/image/placeholder.jpg"
alt="">
<?php endif; ?>
</a>
</div>
<div class="col-xs-8">
<div class="title">
<a href="<?php the_permalink(); ?>">
<h2><?php the_title(); ?></h2>
</a>
</div>
<div class="content">
<p><?php echo substr(get_the_content(), 0, 320); ?>...</p></div>
<div class="read-more">
<a href="<?php the_permalink(); ?>">Read More</a>
</div>
</div>
</div>
</div>
</div>
</div>
<?php endwhile; ?>
<!-- end of the loop -->
<?php wp_reset_postdata(); ?>
<?php else : ?>
<p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
<?php endif; ?>
最终它以我想要的方式工作。