我正在尝试在wp的主题上显示最后一篇文章,所以我写了这段代码:
<?php get_header(); ?>
<div class="content">
<div class="pad group">
<?php get_template_part('inc/page-title'); ?>
<?php //echo var_dump(have_posts()); ?>
<?php if ( have_posts() ) : ?>
<?php if ( ot_get_option('blog-standard') == 'on' ): ?>
<?php while ( have_posts() ): the_post(); ?>
<?php get_template_part('content-standard'); ?>
<?php endwhile; ?>
<?php else: ?>
<div class="post-list group">
<?php $i = 1; echo '<div class="post-row">'; while ( have_posts() ): the_post(); ?>
<?php get_template_part('content'); ?>
<?php if($i % 2 == 0) { echo '</div><div class="post-row">'; } $i++; endwhile; echo '</div>'; ?>
</div><!--/.post-list-->
<?php endif; ?>
<?php get_template_part('inc/front-widgets-bottom'); ?>
<?php get_template_part('inc/pagination'); ?>
<?php get_template_part('inc/picks'); ?>
<?php endif; ?>
<?php get_template_part('inc/front-widgets-top'); ?>
</div><!--/.pad-->
在第一部分中我得到标题,在content
div中我打开了一个名为pad group
的容器,然后使用page-title
我得到了页面的标题。
在此之后,我检查是否有可用的帖子(当然有)if ( have_posts() )
,但条件中的代码永远不会执行,事实上,如果你看到var_dump
have_posts()
1}}并返回false
。
我在这里看到了同样主题的其他问题,但我找不到任何解决方案。其中一些问题询问if
条件未正确关闭,但我检查了所有包含的文件(header
也是如此),我找不到任何问题。
有人可能比我有更好的眼睛?谢谢你的帮助。
答案 0 :(得分:0)
尝试使用自定义WP_Query。
// WP_Query arguments
$args = array(
'posts_per_page' => '1',
'cat' => <CATEGORY_ID>
);
// The Query
$query = new WP_Query( $args );
// The Loop
if ( $query->have_posts() ) {
while ( $query->have_posts() ) {
$query->the_post();
// do something
}
} else {
// no posts found
}
// Restore original Post Data
wp_reset_postdata();
上面的代码会从您通过 CATEGORY_ID 设置的类别中提取一条最近的帖子。
如果您想进一步自定义查询,可以使用WP_Query generator,或选中WP_Query Class docs。
答案 1 :(得分:0)
试试这个 -
$args = array(
'post_type' => 'post',//or you can add custom post type
'order' => 'DESC'
);
$posts = get_posts($args);
if(!empty($posts)){
foreach($posts as $post => $post_val){
echo $post_val->post_content;
}
}