WordPress: tạo dải số phân trang cho danh mục/taxonomy

WordPress: tạo dải số phân trang cho danh mục/taxonomy

Khi viết code cho WordPress theme, bạn muốn tạo phân trang cho danh mục là các số thứ tự. Daipho.com hướng dẫn các bạn làm như sau:

Truy xuất các liên kết phân trang

Để hiển thị phân trang, bạn sử dụng hàm sau:

paginate_links( string|array $args = "" ): string|string[]|void

Các tham số

$args
string|array optional

Mảng hoặc chuỗi đối số để tạo liên kết phân trang cho danh mục.

Giá trị mặc định là rỗng “”.

Các phần tử thường dùng trong mảng này bao gồm:

  • base
    string
    Cơ sở của url phân trang.
  • format
    string
    Định dạng cho cấu trúc phân trang.
  • total
    int
    Tổng số trang. Mặc định là giá trị max_num_pages của WP_Query hoặc 1.
  • prev_text
    string
    Nhãn cho trang trước. Mặc định là ‘« Previous’.
  • next_text
    string
    Nhãn cho trang sau. Mặc định là ‘Next »’.

Giá trị trả về

string|string[]|void
Chuỗi liên kết trang hoặc mảng liên kết trang, tùy thuộc vào đối số 'type'.
Trả về rỗng nếu tổng số trang nhỏ hơn 2.

Sử dụng

Về mặt kỹ thuật, hàm này có thể được sử dụng để tạo danh sách liên kết phân trang cho bất kỳ khu vực nào. Đối số 'base' được sử dụng để tham chiếu đến url, sẽ được sử dụng để tạo các liên kết phân trang. Đối số 'format' sau đó được sử dụng để thay thế số trang. Tuy nhiên, theo mặc định, nó có khả năng được sử dụng trên các danh mục của bài viết.

Ví dụ

Với truy vấn tùy chỉnh

Khi truy vấn vòng lặp với WP_Query mới, hãy gán giá trị thuộc tính max_num_pages của đối tượng WP_Query cho tham số total.

<?php
//Bảo vệ chống lại các giá trị phân trang tùy ý
$paged = ( get_query_var( 'paged' ) ) ? absint( get_query_var( 'paged' ) ) : 1;

$args = array(
	'posts_per_page' => 10, //số lượng bài viết trong mỗi trang
	'category_name' => 'gallery',
	'paged' => $paged, //lấy các bài viết ở trang $paged
);

$the_query = new WP_Query( $args );
?>
<!-- the loop etc.. -->

Dùng hàm paginate_links hiển thị danh mục với các tham số được điều chỉnh theo truy vấn tùy chỉnh ở trên:

<?php
$big = 999999999; // need an unlikely integer

echo paginate_links( array(
	'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
	'format' => '?paged=%#%',
	'current' => max( 1, get_query_var('paged') ),
	'total' => $the_query->max_num_pages
) );
?>

Cải thiện khả năng truy cập:

Để thêm ngữ cảnh vào các liên kết được đánh số nhằm đảm bảo người dùng trình đọc màn hình hiểu mục đích của các liên kết:

<?php
global $wp_query;

$big = 999999999; // need an unlikely integer
$translated = __( 'Page', 'mytextdomain' ); // Supply translatable string

echo paginate_links( array(
	'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
	'format' => '?paged=%#%',
	'current' => max( 1, get_query_var('paged') ),
	'total' => $wp_query->max_num_pages,
	'before_page_number' => '<span class="screen-reader-text">'.$translated.' </span>'
) );
?>

Tham khảo: https://codex.wordpress.org/Pagination

Các tính năng mặc định của trang web

Các trang web được Đại Phố thiết kế luôn mặc định các tính năng sau:

  • Mã nguồn được tối ưu với các công cụ tìm kiếm.
  • Trang web hỗ trợ thiết bị di động, tương thích với mọi thiết bị: điện thoại, máy tính bảng, máy tính và laptop. Sử dụng công nghệ HTML5, CSS3 Mobile Responsive.
  • Dễ dàng thay đổi theo phong cách riêng của bạn.
  • Dễ dàng thêm bớt số lượng các trang, và chỉnh sửa nội hiển thị trên website tùy ý
  • Phần quản trị rõ ràng, trực quan, dễ sử dụng với cả những người không chuyên về IT.

Quản lí nội dung: có thể dễ dàng thêm, xóa, sửa các thông tin trên website

  • Thông tin sản phẩm và dịch vụ của công ty
  • Thông tin dự án, đối tác Giới thiệu – Liên hệ
  • Thông tin giới thiệu, thông tin liên hệ
  • Tin tức
  • Hình ảnh trên website, sửa các tag alt, descriotion, caption
  • Hình ảnh và caption trên Slideshow
Xin vui lòng liên hệ với chúng tôi nếu cần thêm thông tin
trang web có chức năng quản trị dễ sử dụng nhất, chèn từ khóa vào trang web,