Pagination not working on custom post types with rewrite slug

I've been trying to fix my pagination to work on custom post type slugs for example article/post-title/page/2 it just keeps showing the first page's results, the URL is changing but the posts remain the same

My post type has rewrite slugs written like this

'rewrite'       = ['slug' = 'article'],

This is the query I used $paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1;

    $args = [
        'numberposts' = -1,
        'post_type' = $post_type,
        'posts_per_page' = $post_per_page,
        'post_status' = 'publish',
        'paged' = $paged,
        'orderby' = [
            'date' = 'ASC'
        ]
    ];
return new \WP_Query($args);

This is the paginate link I used

$total_pages        = $query-max_num_pages;
    $current_page = max(1, get_query_var('paged'));

    return paginate_links(array(
        'base' = get_pagenum_link(1) . '%_%',
        'format' = 'page/%#%',
        'current' = $current_page,
        'total' = $total_pages,
        'prev_text'    = __('« prev'),
        'next_text'    = __('next »'),
    ));

It's working on a normal page but on the post type it kept refreshing the page so I used these rewrite rules which now change the URL but it still shows the same results(cleared permalinks and all that too)

add_action('init', function() {

            add_rewrite_rule( ^article/([^/]+)/?, 'index.php?post_type=articlename=$matches[1]', 'top' );
            add_rewrite_rule( ([^/]+)/page/([0-9]{1,})/?$, 'index.php?pagename=$matches[1]paged=$matches[2]', 'top' );
            add_rewrite_rule(article/([^/]+)/page/?([2-9][0-9]*),
                index.php?post_type=articleauthor_name=\$matches[1]paged=\$matches[2], 'top');
            add_rewrite_rule(article/([^/]+),
                index.php?post_type=articleauthor_name=\$matches[1], 'top');
    });

Tried different rewrite rules but nothing was working these were the latest ones I tried and the URL is changing with these but the results remain the same

Topic paginate-links query Wordpress

Category Web

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.