Hướng dẫn what is use of have_posts in wordpress? - sử dụng has_posts trong wordpress là gì?
Xác định xem truy vấn WordPress hiện tại có bài viết để lặp lại hay không. Bool true nếu các bài viết có sẵn, sai nếu kết thúc vòng lặp. True if posts are available, false if end of the loop. Hàm này kiểm tra xem có nhiều bài đăng có sẵn trong đối tượng WP_Query chính để lặp lại hay không. Nó gọi & NBSP; ________ 9 Phương thức trên đối tượng toàn cầu Nếu không có thêm bài viết trong vòng lặp, nó sẽ kích hoạt hành động 1 và sau đó gọi gọi ____ 12 & nbsp; phương thức.Tệp: 3. Xem tất cả các tài liệu tham khảo
Xem trên Tracview trên GitHub View on GitHub
Xác định xem có nhiều bài viết có sẵn trong vòng lặp hay không. Gọi hành động ‘loop_end, khi vòng lặp hoàn tất. Bool true nếu các bài viết có sẵn, sai nếu kết thúc vòng lặp. True if posts are available, false if end of the loop. Tệp:
Xem trên Tracview trên GitHub View on GitHub Hỏa hoạn khi vòng lặp kết thúc. Hỏa hoạn nếu không có kết quả được tìm thấy trong một truy vấn bài.
Các hàm WordPress có các hàm () được sử dụng để kiểm tra truy vấn WordPress hiện tại có bất kỳ dữ liệu nào để lặp. Nó sẽ trả về đúng nếu dữ liệu có sẵn. Nếu không nó sẽ trả về sai. Lưu ý: Chúng tôi không cần gửi bất kỳ đối số nào cho chức năng này. Định dạng 1:Nó sẽ định dạng cơ bản trong trang WordPress Archieve, trang danh mục, v.v. Định dạng 2:Truy vấn tùy chỉnh để có hàm_post () trong WordPress. array($array), 'post_type' => 'post', ); $the_query = new WP_Query($args); if($the_query->have_posts()): while ($the_query->have_posts()) : $the_query->the_post(); // Process Your Statements //ex the_content() echo the_title(); endwhile; endif; ?> Định dạng 3:array($array), 'post_type' => 'post', ); $the_query = new WP_Query( $args ); if ( $the_query->have_posts() ) { while ( $the_query->have_posts() ) { $the_query->the_post(); echo get_the_title(); } } ?> Định dạng 4:Trình tải mẫu WordPress sẽ bao gồm tệp mẫu theo ngữ cảnh thích hợp trong nhiều trường hợp, ngay cả khi truy vấn cho ngữ cảnh đó không trả lời. Ví dụ:
Do đó, trong các trường hợp này, tệp mẫu thích hợp sẽ được tải, nhưng không có bài đăng nào sẽ được xuất, vì truy vấn trả về không có bài đăng. Các ví dụ bằng chứng của khái niệm:
Vì vậy, trong các bối cảnh này, nó rất hữu ích cho tệp mẫu để bao gồm điều kiện 5.Trong các bối cảnh khác, tệp mẫu sẽ không bao giờ được tải nếu truy vấn trả về không có bài đăng. Ví dụ:
Trong các bối cảnh này, 5 có lẽ là không cần thiết.Chỉnh sửa
Để hiểu những gì đang xảy ra, bạn phải xem xét thứ tự của các hành động WordPress. Bắt đầu với 7 (và bỏ qua một số cho rõ ràng):
Vì vậy, những gì đang xảy ra, và theo thứ tự nào?
Vì vậy, 7, bị bắn bởi array($array), 'post_type' => 'post', ); $the_query = new WP_Query( $args ); if ( $the_query->have_posts() ) { while ( $the_query->have_posts() ) { $the_query->the_post(); echo get_the_title(); } } ?>0, xảy ra rất lâu sau khi truy vấn được phân tích cú pháp, các bài viết được tìm nạp và mẫu được tải.
Ồ, nhưng tôi tin rằng đó chính xác là những gì bạn đã hỏi. Câu hỏi thực sự là: Trả về truy vấn hợp lệ là gì? Đối với các bối cảnh như chỉ mục lưu trữ danh mục, truy vấn là hợp lệ và mẫu danh mục được tải, nếu ID danh mục truy vấn tồn tại, ngay cả khi không có bài đăng nào được gán cho danh mục đó. Tại sao? Bởi vì truy vấn được phân tích cú pháp là (IIRC) array($array), 'post_type' => 'post', ); $the_query = new WP_Query( $args ); if ( $the_query->have_posts() ) { while ( $the_query->have_posts() ) { $the_query->the_post(); echo get_the_title(); } } ?>1 - đây là một truy vấn hợp lệ ngay cả khi không có bài đăng được gán cho danh mục đó và do đó không dẫn đến 404 khi phân tích cú pháp. Trong trường hợp đó, bạn nhận được một truy vấn hợp lệ và một tệp mẫu được tải, nhưng không có bài đăng. Do đó, 5, trong thực tế có liên quan. Một lần nữa, đây là một ví dụ: danh mục tồn tại, nhưng không có bài viết được chỉ định. Tệp mẫu danh mục được tải, với 5 trả về array($array), 'post_type' => 'post', ); $the_query = new WP_Query( $args ); if ( $the_query->have_posts() ) { while ( $the_query->have_posts() ) { $the_query->the_post(); echo get_the_title(); } } ?>4. Điều này sẽ không đúng với các truy vấn bao gồm một biến bài đăng ( array($array), 'post_type' => 'post', ); $the_query = new WP_Query( $args ); if ( $the_query->have_posts() ) { while ( $the_query->have_posts() ) { $the_query->the_post(); echo get_the_title(); } } ?>5), chẳng hạn như các bài đăng trên blog và các trang tĩnh, bởi vì bài đăng sẽ không thực sự tồn tại và khi được phân tích cú pháp, truy vấn sẽ không trả về một đối tượng hợp lệ. Chỉnh sửa 2
Không. Hãy nhớ: Mẫu được chọn tại 4. Vì vậy, nếu truy vấn nếu hợp lệ, thì tệp mẫu thích hợp được tải. Nếu truy vấn không hợp lệ, thì mẫu 404 được tải. Vì vậy, một khi một mẫu được tải - ví dụ: Mẫu danh mục - một khi vòng lặp là đầu ra, mẫu không thay đổi. Nhìn lại thứ tự hành động:
Chỉnh sửa cuối cùng
Và với điều đó, cuối cùng tôi cũng hiểu: tất cả cùng, câu hỏi của bạn không liên quan gì đến WordPress hoặc vòng lặp WordPress. Bạn đang hỏi về việc gói bất kỳ vòng lặp PHP 2 tùy ý nào bên trong 3 có điều kiện kiểm tra cùng một điều kiện. Câu hỏi đó nằm ngoài phạm vi của WPSE, nhưng tôi sẽ giải thích ngắn gọn: Một điều kiện 3 là một đánh giá nhị phân: đó là 5 hoặc array($array), 'post_type' => 'post', ); $the_query = new WP_Query( $args ); if ( $the_query->have_posts() ) { while ( $the_query->have_posts() ) { $the_query->the_post(); echo get_the_title(); } } ?>4, và những gì xảy ra bên trong điều kiện đó được thực hiện một lần. Một điều kiện 2 là một vòng lặp: nó vẫn đúng trong một số khoảng thời gian riêng biệt, dựa trên một số loại bộ đếm; và những gì xảy ra bên trong điều kiện đó được thực hiện nhiều lần - một lần cho mỗi lần lặp của bộ đếm. Vì vậy, hãy nói rằng bạn muốn xuất ra một danh sách không có thứ tự, nếu danh sách mọi thứ được điền. Nếu bạn sử dụng vòng lặp 2 và bỏ qua trình bao bọc 3, đánh dấu của bạn sẽ trông như thế này:
Và nếu 0 trống, đầu ra kết xuất sẽ là:
Mà để lại dấu hiệu không cần thiết (và không hợp lệ). Nhưng nếu bạn thêm vào một trình bao bọc có điều kiện 3, bạn có thể làm điều này:
Và nếu 0 trống, không có đánh dấu nào sẽ là đầu ra.Đó chỉ là một ví dụ. Có rất nhiều cách sử dụng cho trình bao bọc có điều kiện 3 và trình bao bọc có điều kiện 3 phục vụ một mục đích hoàn toàn khác so với vòng lặp 2. HAS_POSTS là gì?có_posts (): bool.Xác định xem truy vấn WordPress hiện tại có bài viết để lặp lại hay không.bool. Determines whether current WordPress query has posts to loop over.
Vòng lặp được sử dụng để làm gì?Vòng lặp là mã PHP được WordPress sử dụng để hiển thị các bài đăng.Sử dụng vòng lặp, quy trình WordPress mỗi bài đăng được hiển thị trên trang hiện tại và định dạng nó theo cách phù hợp với các tiêu chí được chỉ định trong các thẻ vòng lặp.Bất kỳ mã HTML hoặc PHP nào trong vòng lặp sẽ được xử lý trên mỗi bài đăng.display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post.
Vòng lặp được sử dụng cho trong WordPress là gì?Vòng lặp trích xuất dữ liệu cho mỗi bài viết từ cơ sở dữ liệu WordPress và chèn thông tin phù hợp thay cho từng thẻ mẫu.Bất kỳ mã HTML hoặc PHP nào trong vòng lặp sẽ được xử lý cho mỗi bài đăng.extracts the data for each post from the WordPress database and inserts the appropriate information in place of each template tag. Any HTML or PHP code in The Loop will be processed for each post.
Wp_reset_postdata () là gì?wp_reset_postdata () khôi phục biến $ post toàn cầu cho bài đăng hiện tại trong truy vấn chính (có trong biến $ wp_query toàn cầu trái ngược với biến $ sec_query), do đó các thẻ mẫu đề cập đến vòng lặp truy vấn chính theo mặc định.Thí dụ.Sao chép mã mở rộng.restores the global $post variable to the current post in the main query (contained in the global $wp_query variable as opposed to the $sec_query variable), so that the template tags refer to the main query loop by default again. Example. Copy Expand code. |