分页链接不起作用/ page / 2 - NOT FOUND - Wordpress

时间:2013-09-11 14:49:21

标签: php wordpress pagination http-status-code-404

我需要在我的博客页面中创建一个分页器,直到这很好,但是当我点击我的分页链接时,我找不到FOUND页面,我需要知道我是否需要在面板中能够使用wordpress能够访问?page = N

功能:

    function get_pagination($the_query) {
    global $paged;
    $total_pages = $the_query->max_num_pages;
    $big = 999999999;

    if ($total_pages > 1) {
        ob_start();

        echo paginate_links( array(
            'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
            'format' => '/page/%#%',
            'current' => $paged,
            'total' => $total_pages,
            'prev_text' => '',
            'next_text' => ''
        ));
        return ob_get_clean();
    }
    return null;
}

我的博客代码

$paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;
        // echo $paged;
        $produtos = new WP_Query(array(
            'post_type'      => 'blog',
            'posts_per_page' => 1,
            'orderby'        => 'date',
            'order'          => 'asc',
            'paged'          => $paged,
            'tax_query'      => array(
                array(
                    'taxonomy' => 'categorias',
                    'field'    => 'slug',
                    'terms'    => ACTIVE
                )
            )
        ));

        while ( $produtos->have_posts() ) : $produtos->the_post();

        //CONTENT

        endwhile;

        echo get_pagination($produtos);

5 个答案:

答案 0 :(得分:18)

转到管理员信息中心然后Settings->Reading,然后设置Blog pages show at most等于您查询posts_per_page。因此,如果您设置posts_per_page => 2,则在查询中,Blog pages show at most将为2

答案 1 :(得分:17)

这是我发现并解决了我的问题!

  

[...]我需要进入wp-admin页面(wordpress仪表板)   然后转到设置然后阅读并在“博客页面最多显示”   字段我将值从“10”更改为“6”(帖子数量I   表示   $wp_query->query('showposts=6&cat=1'.'&paged='.$paged);

答案 2 :(得分:1)

请检查您的.htaccess文件。它应该包含一个重写规则,以启用斜杠分页。

请参阅: “使用漂亮的永久链接” - http://codex.wordpress.org/Using_Permalinks

答案 3 :(得分:0)

使用以下分页查询

if ( get_query_var('paged') ) { $paged = get_query_var('paged'); }
elseif ( get_query_var('page') ) { $paged = get_query_var('page'); }
else { $paged = 1; }

    $produtos = new WP_Query(array(
            'post_type'      => 'blog',
            'posts_per_page' => -1,
            'orderby'        => 'date',
            'order'          => 'asc',
            'paged'          => $paged,
            'tax_query'      => array(
                array(
                    'taxonomy' => 'categorias',
                    'field'    => 'slug',
                    'terms'    => ACTIVE
                )
            )
        ));

        while ( $produtos->have_posts() ) : $produtos->the_post();

        //CONTENT

        endwhile;

        echo get_pagination($produtos);

答案 4 :(得分:-4)

转到您的wordpress仪表板设置,然后阅读并在"博客页面中最多显示"字段,改变了' 10'到' 1' 干杯!