Làm cách nào tôi có thể tạo phân trang tùy chỉnh trong WordPress?

Trong hướng dẫn trước, tôi đã giải thích chi tiết cách bạn có thể thêm phân trang số trong WordPress cũng như cách tạo hình thu nhỏ phân trang bài đăng trước và bài đăng tiếp theo cũng như cách chia bài đăng thành nhiều trang bằng cách sử dụng phân trang. Tôi cũng đã chia sẻ một số mã phân trang WordPress mà bạn có thể sử dụng trong blog của mình để thêm tùy chọn phân trang ưa thích của mình. Trong bài đăng này, tôi sẽ giải thích cách xây dựng và triển khai phân trang truy vấn tùy chỉnh trên trang web WordPress của bạn

Phân trang truy vấn tùy chỉnh

Như tôi đã đề cập trong phần giới thiệu, phân trang truy vấn tùy chỉnh bao gồm ba phần bao gồm. , mã để hiển thị phân trang và một số kiểu để làm cho phân trang trông đẹp mắt. Chúng tôi sẽ chia nhỏ mã phân trang truy vấn tùy chỉnh này thành ba bước sau

Tạo Truy vấn tùy chỉnh của bài đăng hoặc Bài đăng tùy chỉnh

Bước đầu tiên là tạo một truy vấn về cơ bản là một mảng các đối số mà chúng tôi định sử dụng trong truy vấn tùy chỉnh

Để hiển thị phân trang truy vấn tùy chỉnh này, chúng ta hãy bắt đầu bằng cách tạo một mẫu trang tùy chỉnh nơi chúng tôi sẽ thêm mã cho phân trang truy vấn tùy chỉnh

Sau đây là ví dụ về mẫu trang tùy chỉnh với mã truy vấn tùy chỉnh

 2,// query last 5 posts  
               'paged' => $paged
             );
			 
$customQuery = new WP_Query($args);

Mã này chỉ đơn giản là tạo một mẫu trang tùy chỉnh mà bạn có thể thấy bên dưới các thuộc tính trang như trong hình bên dưới

How to Create Custom Query Pagination In WordPress

Truy vấn có thể có một số đối số nhưng trong trường hợp này, chúng tôi chỉ giới hạn ở ‘posts_per_page’   là số lượng bài đăng chúng tôi muốn hiển thị trên trang

Chúng tôi cũng có thể chỉ định loại bài đăng bằng cách sử dụng 'post_type', orderby, tác giả, v.v. Sau đây là một ví dụ về một truy vấn khác cho loại bài đăng tùy chỉnh có tên là 'cuốn sách'

//Get current author to use in the query 

$current_author = ( isset($_GET ) ) ? get_user_by( 'slug', $author_name ) : get_userdata( intval( $author ) );

/* set the arguments for the query
$args = array(
	'post_type'	        =>	array( 'goal' ),
	'orderby'	        =>	'date',
	'order'		        =>	'desc',
	'posts_per_page'    =>	10,
	'paged'		        =>	get_query_var( 'page' ) ? get_query_var( 'page' ) : 1,
	'author'	        =>	$current_author->ID
);

// Instantiate the query
$query = new WP_Query( $args );

Sau khi chúng tôi xây dựng $args và khởi tạo truy vấn, giờ chúng tôi đã sẵn sàng để hiển thị các bài đăng trong vòng lặp và thêm truy vấn tùy chỉnh trong bước tiếp theo

Hiển thị bài đăng được truy vấn trong mẫu trang tùy chỉnh

Để hiển thị các bài đăng được truy vấn, mã đã được thêm vào mã mẫu tùy chỉnh ban đầu và mã đầy đủ như sau

 2,// query last 5 posts  
               'paged' => $paged
             );
			 
$customQuery = new WP_Query($args);


?> 



have_posts() ): while($customQuery->have_posts()) : $customQuery->the_post(); global $post; ?>

Tạo một chức năng phân trang

Trong bước cuối cùng này, chúng ta cần tạo chức năng phân trang mà chúng ta sẽ sử dụng trong mẫu trang tùy chỉnh ở trên để hiển thị phân trang truy vấn tùy chỉnh. Để tạo chức năng phân trang, chúng ta cần thêm đoạn mã sau vào hàm. tập tin php

//  Custom pagination function 
	
    function cq_pagination($pages = '', $range = 4)
    {
        $showitems = ($range * 2)+1;
        global $paged;
        if(empty($paged)) $paged = 1;
        if($pages == '')
        {
            global $wp_query;
            $pages = $wp_query->max_num_pages;
            if(!$pages)
            {
                $pages = 1;
            }
        }
        if(1 != $pages)
        {
            echo "\n";
        }
  }

Gọi chức năng phân trang trong mẫu tùy chỉnh

Bước cuối cùng là gọi hàm chúng tôi đã thêm ở trên trong mẫu để phân trang được hiển thị. Để gọi chức năng này, chúng ta nên sử dụng đoạn mã sau

// Step  3: Call the Pagination Function Here  
			 
	if (function_exists("cq_pagination")) {
				
	cq_pagination($customQuery->max_num_pages); 
			 
}

Mã cuối cùng tạo mẫu trang tùy chỉnh với chức năng phân trang này phải như sau

 2,// query last 5 posts  
               'paged' => $paged
             );
			 
$customQuery = new WP_Query($args);


?> 



have_posts() ): while($customQuery->have_posts()) : $customQuery->the_post(); global $post; ?>

max_num_pages); } ?>

Nếu bạn làm theo từng bước đúng cách, bạn sẽ có phân trang như trong hình bên dưới

How to Create Custom Query Pagination In WordPress

Tạo kiểu cho phân trang truy vấn tùy chỉnh

Bước cuối cùng là thêm các kiểu vào phân trang tùy chỉnh để làm cho nó khớp với các kiểu và thiết kế của chủ đề. Sau đây là các kiểu CSS mà bạn nên thêm vào biểu định kiểu để tạo kiểu cho phân trang tùy chỉnh này

/**
 * CQ Pagination Styles
 * @author Joe Njenga
 */ 

.pagination {
   clear:both;
   position:relative;
   font-size:16px; 
   line-height:13px;
   float:right; 
	list-style-type:none;
	width:100%; 
}
.pagination span, .pagination a {
   display:block;
   float:left;
   margin: 2px 2px 2px 0;
   padding:6px 9px 5px 9px;
   text-decoration:none;
   width:auto;
   color:#fff; 
   background: #237697; 
}
.pagination a:hover{
   color:#fff;
   background: #000; 
}
.pagination .current{
   padding:6px 9px 5px 9px;
   background: #999; 
   color:#fff;
}

Sau khi bạn thêm các kiểu phân trang này, giao diện cuối cùng của phân trang tùy chỉnh sẽ như trong hình bên dưới

Làm cách nào để sử dụng Wp_query để tạo phân trang trong WordPress?

Lưu ý, bạn cũng đặt sai vị trí wp_reset_postdata(), nhưng thậm chí còn cần nhiều hơn nữa để làm cho nó hoạt động bình thường. .
Tùy chọn 1 - sử dụng biến max_num_pages.
Tùy chọn 2 - tạm thời sử dụng biến $wp_query cho truy vấn vòng lặp của bạn. .
Tùy chọn 3 - sử dụng plugin WP-pagenavi

Phân trang hoạt động như thế nào trong WordPress?

Phân trang cho phép người dùng của bạn lật trang qua lại nhiều trang nội dung . WordPress có thể sử dụng phân trang khi. Xem danh sách các bài đăng khi có nhiều bài đăng hơn mức có thể vừa trên một trang hoặc. Chia tay các bài đăng dài hơn theo cách thủ công bằng cách sử dụng thẻ sau.

Làm cách nào để triển khai phân trang trên Wp_query Ajax tùy chỉnh?

Bạn cần thay đổi dòng này như thế nào $(". tên_của_bài_lớp"). nối thêm (bài viết); . .
Đây là nơi lưu trữ các bài đăng xem trước của bạn. g. " post-container " ( post-1,post-2. ) bây giờ bạn sẽ thêm ( post-11, post-12. ).
Chỉ cần sử dụng phân trang thay vì bù đắp