【问题标题】:Wordpress custom post-type pagination not workingWordpress 自定义后期类型分页不起作用
【发布时间】:2014-07-11 16:20:39
【问题描述】:

我的 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>

我不完全理解分页过程,我从一些论坛上的 sn-ps 中获取了这段代码,但它不起作用。目前,使用上面的设置,它只显示两个帖子,没有分页。

谁能指出我正确的方向或找出我错过了什么?

【问题讨论】:

  • 你的帖子没有分页吗?

标签: php wordpress pagination


【解决方案1】:

尝试以下方法:-

改变这一行:-

$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的文章

【讨论】:

  • 我试过了,但它仍然只显示循环中的前两个帖子(没有分页)。我查看了 Firebug,发现分页 div 也完全是空的。
【解决方案2】:

'compare' 索引应该插入到 meta_query 的字段数组中。

$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

希望对你有帮助:)

【讨论】:

    猜你喜欢
    • 2011-08-13
    • 2019-05-10
    • 1970-01-01
    • 1970-01-01
    • 2012-10-26
    • 1970-01-01
    • 2014-09-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多