Chúng tôi đều biết rằng ignore_sticky_posts
được sử dụng để loại trừ bài đăng dính khỏi truy vấn tùy chỉnh của bạn.
- Không, giả định này là sai.
Có ignore_sticky_posts
nghĩa là gì
Mặc dù trong tiếng Anh tự nhiên, ignore_sticky_posts
âm thanh như WordPress nên bỏ qua tất cả các bài đăng dính từ truy vấn, nhưng thực tế đó không phải là những gì WordPress làm. Thay vào đó, bạn nên đọc 'ignore_sticky_posts' => 1
đối số như sau:
Khi ignore_sticky_posts
được đặt thành true
hoặc 1
, WordPress sẽ bỏ qua quy trình đặt các bài đăng dính trong truy vấn tùy chỉnh của bạn.
WordPress làm gì khi ignore_sticky_posts
không được đặt:
Để hiểu rõ điều gì 'ignore_sticky_posts' => 1
, bạn cần hiểu WordPress làm gì khi ignore_sticky_posts
đối số không được đặt hoặc nó được đặt thành false
hoặc 0
(theo mặc định):
Nếu có các bài đăng trong kết quả truy vấn là một phần của bài đăng dính, WordPress sẽ đẩy chúng lên đầu kết quả truy vấn.
Nếu bất kỳ bài đăng dính nào không xuất hiện trong kết quả truy vấn, WordPress sẽ nhận lại tất cả các bài đăng dính đó từ cơ sở dữ liệu và đặt chúng lên đầu kết quả truy vấn.
Vì vậy, khi đối số được đặt là 'ignore_sticky_posts' => 1
, WordPress chỉ cần bỏ qua quy trình trên , chỉ vậy thôi. Nó không loại trừ chúng cụ thể. Cho rằng bạn cần phải thiết lập post__not_in
đối số.
Giải thích về ví dụ codex:
Bây giờ, hãy đến ví dụ từ codex:
$args = array(
'posts_per_page' => 1,
'post__in' => get_option( 'sticky_posts' ),
'ignore_sticky_posts' => 1
);
$query = new WP_Query( $args );
Ở đây codex chỉ thiết lập 'ignore_sticky_posts' => 1
để có hiệu quả, không có gì hơn . Ngay cả khi không có nó, bạn sẽ nhận được kết quả như mong đợi:
$args = array(
'posts_per_page' => 1,
'post__in' => get_option( 'sticky_posts' )
);
$query = new WP_Query( $args );
Tuy nhiên, trong trường hợp này, vì 'ignore_sticky_posts' => 1
đối số không được đặt, WordPress sẽ không cần thiết phải thực hiện tất cả các quy trình đặt bài đăng dính lên đầu kết quả, mặc dù tất cả các kết quả này (từ ví dụ này) chỉ là bài đăng dính.
Cách tốt nhất để học một cái gì đó trong WordPress là kiểm tra MÃ cốt lõi. Vì vậy, để hiểu rõ hơn, hãy kiểm tra phần này của WordPress CODE .