Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the rocket domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/lienketvn/lienket.vn/public_html/public/blog/wp-includes/functions.php on line 6114
Hướng dẫn tạo phân trang cho custom wp_query - Blog - Lienket.vn

Hướng dẫn tạo phân trang cho custom wp_query

Trong wordpress, phân trang là một tác vụ rất quan trọng và thường xuyên sử dụng. Thế nhưng, mặc định của wp lại không hỗ trợ hàm sẵn cho việc phân trang dữ liệu lấy từ những truy vấn do bạn tự custom. Ví dụ: Nếu bạn truy vấn cho custom post type chẳng hạn…

Bước 1: Tạo biến $paged

$paged = ( get_query_var( ‘paged’ ) ) ? absint( get_query_var( ‘paged’ ) ) : 1;

Bước 2: Thêm $paged vào câu query

$args = array(
        ‘post_status’        => ‘publish’,
        ‘post_type’           => ‘post’,
        ‘cat’                      => 97,
        ‘posts_per_page’ => 9,
        ‘paged’                => $paged,
    );

Bước 3: Gọi hàm phân trang

<?php
        $big = 999999999; // need an unlikely integer
        echo paginate_links( array(
            ‘base’ => str_replace( $big, ‘%#%’, ‘/danh-muc/danh-muc-con%_%’ ),
            ‘format’ => ‘/paged/%#%’,
            ‘current’ => max( 1, get_query_var(‘paged’) ),
            ‘total’ => $getposts->max_num_pages
        ) );
        echo 1;
?>
Đoạn bôi đỏ là đường dẫn của bạn

Các tài liệu tham khảo

Cấu trúc hàm paginate_links và các ví dụ sử dụng: https://lienket.vn/otntq

Trong phần giải thích của hàm có ví dụ về tham số base như hình sau, các bạn cần chú ý chỗ này.

Trong hàm paginate_links có sử dụng hàm get_pagenum_link và hàm này cần chú ý nên bạn có thể đọc kỹ tại đây: https://lienket.vn/pzaz4

5/5 - (1 bình chọn)