Wordpress自定义后期分页不起作用

时间:2014-07-11 16:20:40

标签: php wordpress pagination

我的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('&laquo; Previous') ?></div>
    <div><?php next_posts_link('More &raquo;') ?></div>

我不完全理解分页过程,并且我从某些论坛上发现的代码段中获取了此代码,但它无效。目前,通过上面的设置,它只显示了两个帖子,没有分页。

任何人都可以指出我正确的方向或找出我失踪的东西吗?

2 个答案:

答案 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

希望有所帮助:)