Hiển thị một số lượng bài viết cố định trong WordPress mà không cần Pagination

Tình huống: Cài đặt> Đọc được đặt để hiển thị 10 (hoặc bất kỳ số nào, không quan trọng) bài đăng blog mới nhất (mặc định của WordPress).

Và bạn chỉ muốn hiển thị 3 Bài đăng mà không có liên kết đến các nhóm trang được phân trang tiếp theo.

Vì vậy, hãy chỉ thêm điều này trong functions.php:

add_action( 'pre_get_posts', 'be_change_home_posts_per_page' );
/**
 * Change Posts Per Page for Posts page
 *
 * @author Bill Erickson
 * @link http://www.billerickson.net/customize-the-wordpress-query/
 * @param object $query data
 *
 */
function be_change_home_posts_per_page( $query ) {

	if( $query->is_main_query() && !is_admin() && is_home() ) {
		$query->set( 'posts_per_page', '3' );
	}

}

Đơn giản, phải không?

Rõ ràng, điều đó là không đủ. Khi bạn tải lại trang Bài đăng của mình (trong trường hợp này là trang đầu hoặc trang chủ), bạn sẽ thấy rằng trong khi chỉ có 3 Bài đăng được hiển thị, phân trang sẽ tiếp tục xuất hiện.

Bằng cách đặt no_found_rows thành true, chúng tôi thực sự có thể truy xuất một số lượng bài đăng cố định, do đó loại bỏ việc phân trang.

add_action( 'pre_get_posts', 'be_change_home_posts_per_page' );
/**
 * Change Posts Per Page for Posts page
 *
 * @author Bill Erickson
 * @link http://www.billerickson.net/customize-the-wordpress-query/
 * @param object $query data
 *
 */
function be_change_home_posts_per_page( $query ) {

	if( $query->is_main_query() && !is_admin() && is_home() ) {
		$query->set( 'posts_per_page', '3' );
		$query->set( 'no_found_rows', true );
	}

}