Wordpress-仅显示过去断开分页的帖子
我有一个事件页面,显示“事件”自定义帖子类型。在页面的顶部,我有两个即将发布的帖子,在即将发布的事件列表中,然后在底部,我有3个过去的事件,在过去的事件列表中。根据“事件日期”自定义字段是否在过去,在每个部分中显示帖子。过去的事件使用WP page navi插件对帖子进行分页“每页发布”设置为1作为测试 应该有3页,其中有1个过去的职位显示在他们,分别。不幸的是,分页显示了5个页面,前两个页面上没有显示文章,好像即将发布的文章列表中的文章表现为重影。我删除了即将发布的帖子列表作为测试,但这没有什么区别 有人知道这其中的原因吗?我不知道。谢谢Wordpress-仅显示过去断开分页的帖子,wordpress,pagination,Wordpress,Pagination,我有一个事件页面,显示“事件”自定义帖子类型。在页面的顶部,我有两个即将发布的帖子,在即将发布的事件列表中,然后在底部,我有3个过去的事件,在过去的事件列表中。根据“事件日期”自定义字段是否在过去,在每个部分中显示帖子。过去的事件使用WP page navi插件对帖子进行分页“每页发布”设置为1作为测试 应该有3页,其中有1个过去的职位显示在他们,分别。不幸的是,分页显示了5个页面,前两个页面上没有显示文章,好像即将发布的文章列表中的文章表现为重影。我删除了即将发布的帖子列表作为测试,但这没有什
<?php
$temp_post = $post; // Store the Page the Post
// Get the current date
$current_date = date('M d, Y', time());
$current_date = strtotime( $current_date );
$wp_query= null;
$wp_query = new WP_Query();
$args = array( 'post_type' => 'events','posts_per_page' => 1,'paged' => $paged,'meta_key' => 'event_date', 'orderby' => 'meta_value_num', 'order' => 'DESC');
$wp_query->query( $args );
if ( $wp_query->have_posts() ) :
while ( $wp_query->have_posts() ) : $wp_query->the_post();
// Get the date custom field
$post_date = get_field('event_date');
$post_date = strtotime( $post_date );
// If older than post date, don't show it
if( $current_date > $post_date ): ?>
MY POST CONTENT GOES HERE
<?php endif; // END DATE FILTER ?>
<?php endwhile; //END LOOP ?>
<?php /* Start wp-pagenavi support */ ?>
<?php if(function_exists('wp_pagenavi') ) :
echo '<nav class="pag">'; ?>
<?php wp_pagenavi(); ?>
<?php echo '</nav>'; ?>
<?php else: ?>
<?php twentyeleven_content_nav( 'nav-below' ); ?>
<?php endif; ?><?php /* End wp-pagenavi support */ ?>
<?php endif; ?>
<?php $post = $temp_post; // Reset the Post ?>
它扮演鬼魂是因为你没有展示它。您正在页面底部显示导航。查询返回5页,因此导航将为5页 但如果不符合此条件,则不显示帖子
// If older than post date, don't show it
if( $current_date > $post_date ): ?>
这就是为什么那些帖子没有显示出来。删除该条件,您将看到所有的帖子都显示为它应该显示的样子
如果您想以这种方式显示分页,则必须限制查询本身返回的帖子的数量。非常感谢,我朝着正确的方向推了一下就解决了这个问题
// Get the current date
$current_date = date('Ymd', time());
$wp_query= null;
$wp_query = new WP_Query();
$args = array(
'post_type' => 'events',
'posts_per_page' => 1,
'paged' => $paged,
'orderby' => 'meta_value_num',
'order' => 'DESC',
'meta_key' => 'event_date',
'meta_query' => array(
array(
'key' => 'event_date',
'value' => $current_date,
'compare' => '<',
'type' => 'CHAR'
)
)
);
$wp_query->query( $args );
if ( $wp_query->have_posts() ) :
while ( $wp_query->have_posts() ) : $wp_query->the_post(); ?>
MY POST CONTENT HERE
<?php //endif; // END DATE FILTER ?>
<?php endwhile; //END LOOP ?>
<?php /* Start wp-pagenavi support */ ?>
<?php if(function_exists('wp_pagenavi') ) :
echo '<nav class="pag">'; ?>
<?php wp_pagenavi(); ?>
<?php echo '</nav>'; ?>
<?php endif; ?><?php /* End wp-pagenavi support */ ?>
<?php endif; ?>