Bạn muốn có các bài đăng từ một danh mục cụ thể hoặc các danh mục không xuất hiện trên Blog WordPress của bạn?
Cho dù bạn có danh sách các bài đăng xuất hiện trên trang chủ hoặc trên một trang Bài đăng riêng biệt (tương tự như thế này), pre_get_posts
bộ lọc hook trong WordPress có thể được sử dụng để thay đổi truy vấn trên các trang không phải số ít như trang Bài đăng.
Thêm mã sau vào cuối functions.php của chủ đề con sẽ loại trừ các bài đăng khỏi danh mục có ID 1
không xuất hiện trên trang Bài đăng:
add_filter( 'pre_get_posts', 'sk_exclude_category_posts' );
/**
* Excludes posts from "Uncategoized" category on the Posts page.
*
* @param object $query data.
*/
function sk_exclude_category_posts( $query ) {
if ( $query->is_main_query() && ! is_admin() && $query->is_home() ) {
$query->set( 'cat', '-1' );
}
}
Thay thế 1
bằng ID của danh mục của bạn. Điều này có thể đạt được bằng cách nhấp vào tên danh mục tại Bài đăng> Danh mục và quan sát giá trị của tag_ID
trong URL.
Bán tại.:
URL mẫu:
https: //genesis-sample.test/wp-admin/term.php? taxonomy = category & tag_ID = 1 & post_type = post & wp_http_referer =% 2Fwp-admin% 2Fedit-tags.php% 3Ftaxonomy% 3Dcategory
Điều gì xảy ra nếu bạn muốn loại trừ các bài đăng khỏi nhiều danh mục?
Sử dụng mã mẫu này:
add_filter( 'pre_get_posts', 'sk_exclude_category_posts' );
/**
* Excludes posts from "Uncategoized" and "Featured" categories on the Posts page.
*
* @param object $query data.
*/
function sk_exclude_category_posts( $query ) {
if ( $query->is_main_query() && ! is_admin() && $query->is_home() ) {
$query->set( 'cat', '-1, -36' );
}
}
Thay thế 1 và 36 bằng ID của các danh mục mà từ đó các bài đăng sẽ không được hiển thị.$query->set( 'cat', '-1, -36' );