Pagination for event query

时间:2013-07-11 作者:hyperdrive

我正在使用Modern Tribe Events Calendar

我的问题是分页。

这是对WP\\U查询分页的错误方式,还是有其他方法可以对事件日历分页?

我找到了一个tutorial 这使用了WPNavi插件,但我想使用核心wordpress函数。

<?php 
$upcoming = new WP_Query();
$upcoming->query( array(
    \'post_type\'=> \'tribe_events\',
    \'eventDisplay\' => \'upcoming\',
    \'posts_per_page\' => 1)
);

if ($upcoming->have_posts()) : while ($upcoming->have_posts()) : $upcoming->the_post(); ?>

        <?php tribe_get_template_part( \'list/single\', \'event\' ) ?>

<?php endwhile;

else : 
    echo \'no upcoming events\'; 
endif;

wp_reset_query(); 
?>

<div class="navigation"><p><?php posts_nav_link(); ?></p></div>

2 个回复
最合适的回答,由SO网友:hyperdrive 整理而成

我能够用这个解决方案来实现这一点。

我唯一关心的是这是否是一个合适的解决方案。

 <?php 
    global $paged;
    $curpage = $paged ? $paged : 1;
    $upcoming = new WP_Query();
    $upcoming->query( array(
        \'post_type\'=> \'tribe_events\',
        \'eventDisplay\' => \'upcoming\',
        \'posts_per_page\' => 2,
        \'paged\' => $paged)
    );

    if ($upcoming->have_posts()) : while ($upcoming->have_posts()) : $upcoming->the_post(); ?>

        <?php tribe_get_template_part( \'list/single\', \'event\' ) ?>

    <?php endwhile;


    echo \'<div id="navigation">\';
        if ($curpage != 1) {
           echo \'<a class="previous" href="\'.get_pagenum_link(($curpage-1 > 0 ? $curpage-1 : 1)).\'">&lsaquo;</a>\';
        }
        if ($curpage != $upcoming->max_num_pages) {
           echo \'<a class="next" href="\'.get_pagenum_link(($curpage+1 <= $upcoming->max_num_pages ? $curpage+1 : $upcoming->max_num_pages)).\'">&rsaquo;</a>\';
        }            
    echo \'</div>\';

    endif;

    wp_reset_query(); 
?>

SO网友:TheDeadMedic

posts_nav_link() 关闭主查询。而不是调用自己的$upcoming, 仅使用query_posts( ... ) 临时覆盖它,以及相应的模板标记。。。

query_posts(
    array(
        \'post_type\'      => \'tribe_events\',
        \'eventDisplay\'   => \'upcoming\',
        \'posts_per_page\' => 1,
    )
);

if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

        <?php tribe_get_template_part( \'list/single\', \'event\' ) ?>

<?php endwhile;

else : 
    echo \'no upcoming events\'; 
endif;

wp_reset_query();

结束

相关推荐

Wordpress Pagination Problem

我想在wordpress索引中设置分页。php,但它不工作。在我的索引中。php有3个显示自定义帖子的循环部分,我想在索引中的Blog/recent post部分循环中设置分页。php。这是索引中的代码。php<?php /** * @package WordPress * @subpackage Adapt Theme */ $options = get_option( \'adapt_theme_settings\' ); ?> &l