简体   繁体   中英

Pagination link is not working /page/2 - NOT FOUND - Wordpress

I need to create a paginator in my blog page, until this its good, but when i click in a link of my pagination i got NOT FOUND page, i need to know if i need to able something in the panel to wordpress able the access to?page=N

function:

    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;
}

my blog code

$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);

Go to admin Dashboard then Settings->Reading then set Blog pages show at most is equal to you query posts_per_page . So in your query if you set posts_per_page => 2 then Blog pages show at most will be 2

This is what I found and resolved the issue I had!

[...] I needed to go into the wp-admin page (the wordpress dashboard) and go to Settings then Reading and in the "Blog pages show at most" field I changed the value from '10' to '6' (the number of posts I indicated in $wp_query->query('showposts=6&cat=1'.'&paged='.$paged); )

Please check your .htaccess file. It should contain a rewrite rule to enable pagination with slashes.

Please see: "Using pretty permalinks" - http://codex.wordpress.org/Using_Permalinks

use following paged query

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);
 Problem: When we click on next page then wordpress redirects on first 
 -------  page or on same pag.


Solution: put this code snippet in your themes functions.php file.
--------


add_filter('redirect_canonical', 'pif_disable_redirect_canonical');

function pif_disable_redirect_canonical($redirect_url)
{
    if (is_singular()) $redirect_url = false;
    return $redirect_url;
}


 ---------------------------------------------------
! it has worked for me , I hope it works for you

转到您的wordpress仪表板设置然后阅读并在“博客页面最多显示”字段中,将值从“10”更改为“1”欢呼!

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM