Thủ thuật phân trang trong WordPress không cần Plugin


Như các bạn đã biết  khi sử dụng WordPress muốn phân chia trang hầu hết sẽ dùng Plugin WP-PageNavi. Đơn giản chỉ việc cài và chạy. Nhưng có nhiều bạn không thích cài nhiều plugin cho một trang web sử dụng WordPress bởi vì họ nghĩ rằng cài nhiều thì cồng kềnh gây nặng website, tốc độ website tải chậm. Hôm nay Thiết kế WordPress sẽ hướng Dẫn cho các bạn cách phân trang trong WordPress không cần sử dụng Plugin

Thủ thuật phân trang WordPress không cần Plugin

Thủ thuật phân trang trong WordPress không cần Plugin

Bước 1: Đầu tiên bạn kiểm tra theme bạn đang sử dụng có file functions.php hay không. Nếu không có thì hãy tạo một file trong thư mục Theme bạn đang dùng và thêm đoạn code sau vào:

function page_nav() {
	if( is_singular() )
		return;
	global $wp_query;
	/** Stop execution if there's only 1 page */
	if( $wp_query->max_num_pages <= 1 )
		return;
	$paged = get_query_var( 'paged' ) ? absint( get_query_var( 'paged' ) ) : 1;
	$max   = intval( $wp_query->max_num_pages );
	/**	Add current page to the array */
	if ( $paged >= 1 )
		$links[] = $paged;
	/**	Add the pages around the current page to the array */
	if ( $paged >= 3 ) {
		$links[] = $paged - 1;
		$links[] = $paged - 2;
	}
	if ( ( $paged + 2 ) <= $max ) {
		$links[] = $paged + 2;
		$links[] = $paged + 1;
	}
	echo '<div class="navigation"><ul>' . "\n";
	/**	Previous Post Link */
	if ( get_previous_posts_link() )
		printf( '<li>%s</li>' . "\n", get_previous_posts_link() );
	/**	Link to first page, plus ellipses if necessary */
	if ( ! in_array( 1, $links ) ) {
		$class = 1 == $paged ? ' class="active"' : '';
		printf( '<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url( get_pagenum_link( 1 ) ), '1' );
		if ( ! in_array( 2, $links ) )
			echo '<li>…</li>';
	}
	/**	Link to current page, plus 2 pages in either direction if necessary */
	sort( $links );
	foreach ( (array) $links as $link ) {
		$class = $paged == $link ? ' class="active"' : '';
		printf( '<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url( get_pagenum_link( $link ) ), $link );
	}
	/**	Link to last page, plus ellipses if necessary */
	if ( ! in_array( $max, $links ) ) {
		if ( ! in_array( $max - 1, $links ) )
			echo '<li>…</li>' . "\n";
		$class = $paged == $max ? ' class="active"' : '';
		printf( '<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url( get_pagenum_link( $max ) ), $max );
	}
	/**	Next Post Link */
	if ( get_next_posts_link() )
		printf( '<li>%s</li>' . "\n", get_next_posts_link() );
	echo '</ul></div>' . "\n";
}

Bước 2: Tiếp thep các bạn thêm Giao Diện Cho Pagination

.navigation li a,
.navigation li a:hover,
.navigation li.active a,
.navigation li.disabled {
	color: #fff;
	text-decoration:none;
}
.navigation li {
	display: inline;
}
.navigation li a,
.navigation li a:hover,
.navigation li.active a,
.navigation li.disabled {
	background-color: #6FB7E9;
	border-radius: 3px;
	cursor: pointer;
	padding: 12px;
	padding: 0.75rem;
}
.navigation li a:hover,
.navigation li.active a {
	background-color: #3C8DC5;
}

Bạn thay đổi các giá trị sao cho phù hợp với blog của mình nhé!

Cuối cùng chỉ cần hiển thị cái Pagination ra ngoài front-end thôi. Thêm đoạn code này vào nới bạn muốn hiển thị

<?php page_nav(); ?>

Hoàn thành các bước trên thì các bạn đã tạo cho mình một phân trang mà không cần sử dụng bất cứ plugin nào.

Ngoài ta các bạn có thể tham khảo thêm một số thủ thuật WordPress dưới đây:

>>> Plugin SEO WordPress SEO by Yoast miễn phí tốt nhất WordPress

>>> Hướng dẫn thêm trình soạn thảo bài viết trong WordPress

Cần hỗ trợ inbox ngay tại đây!

4.8/5 - (110 bình chọn)
4.8/5 - (110 bình chọn)