分页不适用于Wordpress中的自定义帖子类型

时间:2014-11-24 13:10:26

标签: php wordpress pagination

我创建了自定义帖子类型及其页面模板,我想在自定义帖子类型页面模板上分页

<?php $paged = (get_query_var('page')) ? get_query_var('page') : 1;

    $qry = array(
                 'post_type' => 'property',
                 'posts_per_page' => '3',
                 'oerder' => 'ASC',
                 'page' => $paged,
        );

    $listing = new WP_Query($qry);

    if($listing->have_posts()):
        while($listing->have_posts()):
            $listing->the_post();
            the_title();
        endwhile;
    endif;
?>

我正在使用page_navi插件进行分页,但它不起作用, 我也在使用wordpress分页,这里是代码

<div class="nav-previous alignleft"><?php get_next_posts_link(); ?></div>
<div class="nav-next alignright"><?php get_previous_posts_link(); ?></div>

但它也不起作用。 请尽快建议我解决一些问题 感谢

2 个答案:

答案 0 :(得分:2)

因此,我可以提交此内容,并通过一些解释让您更容易一些。

Wordpress中的分页不是page。它是paged

所以你的查询应该是......

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; // changed all page to paged

$qry = array(
          'post_type' => 'property',
          'posts_per_page' => '3',
          'order' => 'ASC', // This was spelled wrong...
          'paged' => $paged, // changed page to paged
        );

有关如何设置分页变量并正确使用它的完整文档,请参阅http://codex.wordpress.org/Pagination#Adding_the_.22paged.22_parameter_to_a_query

您的订单拼写不正确,因为这只是在页面上面,它可能会弄乱一些东西,但非常值得怀疑。我会为预期的执行纠正它。

答案 1 :(得分:1)

此处图库是自定义帖子类型。

function get_all_gallery_posts( $query ) {
        if( !is_admin() && $query->is_main_query() && is_post_type_archive( 'gallery' ) ) {
            $query->set( 'posts_per_page', '6' );
        }
    }
add_action( 'pre_get_posts', 'get_all_gallery_posts' );