Cách giới hạn Bài đăng trên trang Bài đăng trong một Danh mục cụ thể trong WordPress

Trong một nhận xét về Chủ đề Genesis Starter Child, một người dùng đã hỏi,

Cảm ơn bạn vì những thay đổi, chúng thật tuyệt vời! Trong Genesis> Theme Settings có phần ‘mẫu trang blog’ cho phép bạn chọn chỉ hiển thị các bài đăng từ một danh mục cụ thể. Tuy nhiên, với những thay đổi không có mẫu trang blog bây giờ, vậy làm cách nào để tôi vẫn chỉ hiển thị các bài đăng gần đây từ một danh mục trên trang chủ?

Nhờ bài đăng tuyệt vời này của Bill Erickson, chúng tôi biết rằng đó pre_get_posts là cách để đi trong tình huống này.

Thêm phần sau vào functions.php của chủ đề con chỉ hiển thị các Bài đăng từ một danh mục cụ thể trên trang Bài đăng (đây sẽ là trang chủ theo mặc định):

add_action( 'pre_get_posts', 'sk_show_posts_from_a_category_posts_page' );
/**
 * Show Posts from a specific category on Posts page
 *
 * @author Bill Erickson
 * @author Sridhar Katakam
 * @link http://www.billerickson.net/customize-the-wordpress-query/
 * @param object $query data
 *
 */
function sk_show_posts_from_a_category_posts_page( $query ) {

	if( $query->is_main_query() && !is_admin() && is_home() ) {
		$query->set( 'category_name', 'category-1' ); // Replace "category-1" with your category slug
	}

}