我的wordpress页面底部有一个部分,应该显示一组帖子(自定义帖子类型),一次9个,用简单的分页滚动到下一个/上一页9。
到目前为止,这是我的代码:
<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$loop = new WP_Query( array(
'post_type' => 'event',
'order' => 'ASC',
'posts_per_page' => 9,
'orderby'=> 'event_date',
'meta_key'=>'event_date',
'meta_query' => array(array('key'=>'event_date', 'value'=>date('Y-m-d'))),
'compare' => '>=',
'paged'=>$paged
)) ?>
<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
<article class="post-<?php the_ID(); ?>">
<h2 class="post_title"><?php the_title(); ?></h2>
<h3 class="date_posted sub_text"><?php echo date('l, F jS', strtotime(get_field('event_date'))); ?></h3>
<?php html5wp_excerpt('events_page_listing'); ?>
<a class=lead_in href="<?php the_permalink() ?>"></a>
</article>
<?php endwhile; ?>
<div><?php previous_posts_link('« Previous') ?></div>
<div><?php next_posts_link('More »') ?></div>
我不完全理解分页过程,并且我从某些论坛上发现的代码段中获取了此代码,但它无效。目前,通过上面的设置,它只显示了两个帖子,没有分页。
任何人都可以指出我正确的方向或找出我失踪的东西吗?
答案 0 :(得分:0)
请尝试以下方法: -
更改此行: -
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
到
if (get_query_var('paged')):
$paged = get_query_var('paged');
elseif (get_query_var('page')):
$paged = get_query_var('page');
else:
$paged = 1;
endif;
我的文章http://codenathan.com/wordpress/pagination-on-wordpress-page
答案 1 :(得分:0)
应该在meta_query中的字段数组中插入'compare'
索引。
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$loop = new WP_Query(
array(
'post_type' => 'event',
'order' => 'ASC',
'posts_per_page' => 9,
'orderby'=> 'event_date',
'meta_key'=>'event_date',
'meta_query' =>
array(
array(
'key'=>'event_date',
'value'=>date('Y-m-d'),
'compare' => '>='
)
),
'paged'=>$paged
)
);
前参考:WordPress Codex
希望有所帮助:)