Làm cách nào để thêm vòng lặp trong wordpress?
Trong thế giới WordPress, chúng tôi sử dụng từ vòng lặp để nói về danh sách bài đăng, những luồng nội dung đẹp mắt mà về cơ bản chúng tôi có thể thấy trong mọi blog hoặc tạp chí. Đó là WordPress thường chăm sóc chúng. ví dụ: nếu chúng ta đang đọc trang chủ (_______44_______), chúng ta sẽ thấy các bài đăng theo thứ tự thời gian nghịch đảo, từ bài mới nhất đến bài cũ nhất; . e. Show
Tuyệt vời. Vì vậy, đó là các vòng lặp mặc định, có nghĩa là WordPress sẽ lo liệu tất cả. Nhưng câu hỏi thực sự bây giờ là… Làm cách nào để tạo vòng lặp tùy chỉnh trong WordPress?Với các công cụ mạnh mẽ do WordPress cung cấp, chúng tôi có thể tạo vòng lặp tùy chỉnh. Điều đó có nghĩa là, chúng tôi có thể tạo danh sách bài đăng tùy chỉnh dựa trên… bất cứ thứ gì chúng tôi muốn. Chúng tôi có thể quyết định số lượng bài đăng sẽ hiển thị, bao gồm hoặc loại trừ danh mục hoặc thẻ, tác giả, khóa meta tùy chỉnh, loại bài đăng, v.v. Chúng ta có thể làm điều đó bằng cách sử dụng một lớp có tên WP_Query() Vậy bây giờ. hãy tạo một truy vấn tùy chỉnh sẽ hiển thị ba bài đăng cuối cùng được xuất bản trên trang web của chúng tôi. Hãy bắt đầu dễ dàng Điều đầu tiên chúng ta phải làm là đi đến bất cứ nơi nào chúng ta muốn vòng lặp tùy chỉnh của mình xuất hiện và tạo các đối số cho truy vấn của mình, để chúng ta có thể chỉ định những gì chúng ta muốn xem trong danh sách của mình $args = array( 'posts_per_page' => 3, 'post_type' => 'post', 'post_status' => 'publish' ); Được rồi, vì vậy ở đây về cơ bản chúng tôi nói với WordPress rằng chúng tôi muốn hiển thị ba bài đăng đã được xuất bản trên trang web của chúng tôi. Bây giờ chúng ta có thể sử dụng lớp WP_Query() để tạo danh sách $my_custom_query = new WP_Query( $args ); …và bây giờ, hãy tiếp tục với cấu trúc chính tắc của một vòng lặp (xem phần này) if( $my_custom_query->have_posts() ){ while( $my_custom_query->have_posts() ){ $my_custom_query->the_post(); // HTML structure of our post } } else { // Error message: sorry, no posts here } Đó là nó. Bây giờ, vòng lặp tùy chỉnh của chúng tôi đã được tạo và sẽ hiển thị chính xác các bài đăng mà chúng tôi muốn hiển thị. Tất nhiên, chúng ta vẫn phải điền vào cấu trúc HTML của mình, sử dụng các chức năng của WordPress như Khi kết thúc mọi thứ và sau điều kiện nếu đầu tiên của chúng tôi, điều quan trọng cần nhớ là đặt lại truy vấn, để WordPress có thể quay lại các vòng lặp bình thường của nó wp_reset_postdata(); Bây giờ nó thực sự đã hoàn thành Hãy nhớ rằng bạn có thể điền vào các đối số truy vấn của mình với rất nhiều tham số. Tôi khuyên bạn nên xem bài đăng tuyệt vời này từ Bill Erickson để có danh sách đầy đủ về chúng WordPress giúp tạo nội dung trên trang web và blog của bạn cực kỳ dễ dàng. Tất cả những gì bạn phải làm là đăng nhập vào Trang web được hỗ trợ bởi WordPress của mình, đi tới Thêm bài đăng mới và bắt đầu viết blog Các bước thực tế để tạo bài đăng trên blog của bạn như sau. (Tôi biết, bạn đã biết phần này)
Sau đó, mọi người truy cập trang web của bạn và xem bài đăng blog mới nhất của bạn, bài đăng này thường được hiển thị ở đầu trang blog của bạn, được chỉ định để giới thiệu các bài đăng mới nhất của bạn Một số coi đây là phép thuật và những người khác coi quá trình này là đương nhiênBạn đã bao giờ tự hỏi làm thế nào WordPress biết bài đăng nào sẽ được hiển thị trước và bài đăng nào tiếp theo chưa? Trong bài viết này, tôi sẽ chia sẻ với bạn những gì có vẻ như rất nhiều thông tin nhưng trên thực tế, có thể viết cả một cuốn sách về chủ đề này Làm thế nào để dễ dàng sao chép mã trong bài đăng này?Nếu bạn di chuột vào các đoạn mã trong bài viết này, ở góc trên bên phải sẽ xuất hiện hình ảnh khay nhớ tạm. Nhấp vào đó và tất cả mã sẽ được sao chép vào khay nhớ tạm của bạn. Sau đó, chỉ cần dán mã vào trình soạn thảo văn bản hoặc IDE yêu thích của bạn Tôi cũng khuyên bạn nên sử dụng máy chủ web cục bộ trên máy tính của mình để kiểm tra tất cả mã. Không bao giờ kiểm tra bất kỳ mã nào trên trang web sản xuất trực tiếp Hãy xem xét một chỉ số rất cơ bản. php là tệp mẫu dự phòng được chọn nếu không có sẵn các tệp mẫu cụ thể khác
Đừng lo lắng, trong bài viết này tôi sẽ đi qua mã cho bạn Vòng lặp WordPress là gì?Vòng lặp, là Mã PHP được WordPress sử dụng để hiển thị các bài đăng, trang, loại Bài đăng tùy chỉnh, nhận xét, v.v. Đó là một PHP While Loop cùng với câu lệnh điều kiện if. Đây là ý chính của điều kiện if với vòng lặp
Lưu ý thẻ đóng PHP ?>. Sau đó là nơi HTML được đặt kết hợp với Thẻ mẫu mà tôi sẽ đi sâu hơn trong một bài viết khác Vòng lặp kết thúc với đoạn mã này
Bạn cũng có thể thấy vòng lặp được mã hóa hơi khác một chút nhưng vẫn đúng. Các nhà phát triển có các phong cách viết mã khác nhau
Đây là cách nó thực sự hoạt động
Đây là danh sách chỉ một vài trong số rất nhiều Thẻ mẫu mà bạn có thể sử dụng bên trong vòng lặp
Bạn muốn xem danh sách đầy đủ Tất cả các thẻ mẫu WordPress? Đây là một số thẻ có điều kiện bạn có thể sử dụng
Có nhiều câu điều kiện hơn mà bạn có thể sử dụng và trong một bài viết khác tôi sẽ xem xét nhiều hơn về chúng. Tôi cũng đang làm việc trên Bảng thuật ngữ WordPress, vì vậy hãy đảm bảo Đánh dấu trang web này Các ví dụ khác về Vòng lặp WordPressNghe có vẻ dễ dàng phải không? . Bạn có thể tạo nhiều tệp mẫu với định dạng cụ thể. Bạn cũng có thể sử dụng vòng lặp ở nhiều vị trí khác nhau trên trang web của mình như thanh bên, khu vực chân trang hoặc thậm chí có nhiều vòng lặp trong phần chính của khu vực nội dung của bạn Đây là một ví dụ phức tạp hơn về một chỉ số. php (mặc dù không quá phức tạp)
Hãy xem qua một số mãNhư bạn có thể thấy, chúng tôi bắt đầu ở đầu tệp với thẻ php mở, theo sau là phần nhận xét và sau đó chúng tôi sử dụng get_header(); Sau đó, chúng tôi chuyển sang một số HTML và sau đó quay lại PHP. Bạn sẽ thấy rằng hầu hết các nhà phát triển sẽ nhảy vào và nhảy ra khỏi PHP và HTML thay vì chỉ lặp lại html. Đặc biệt đối với các đoạn mã dài hơn Bây giờ cho vòng lặp WordPress đang hoạt động
Như bạn có thể thấy, vòng lặp có thể phức tạp hơn một chút. Nhưng chúng ta vẫn chưa hoàn thành. Bây giờ, hãy bẻ cong vòng lặp WordPress để làm như chúng ta muốn Tùy chỉnh Vòng lặp WordPressChúng ta đã đề cập đến vòng lặp mặc định, vì vậy bây giờ chúng ta sẽ xem xét các cách làm việc nâng cao hơn với vòng lặp Có 4 cách để làm việc với vòng lặp
Sử dụng query_posts() để lặpquery_posts sử dụng WP_Query và không được khuyến nghị vì nó trực tiếp thay đổi vòng lặp chính bằng cách thay đổi các biến của biến toàn cục $wp_query Ngoài ra, đây là một ví dụ rất chung chung 8Hãy xem qua mã 9Bên trong chức năng, chúng tôi đang nói rằng chúng tôi muốn hiển thị 3 bài đăng từ loại bài đăng Sau đó, chúng tôi đi vào vòng lặp của chúng tôi 0và sử dụng một vài thẻ mẫu để truy xuất một số thông tin về mỗi bài đăng 1Sau đó, chúng tôi sử dụng endwhile theo sau bởi một other để hiển thị một tuyên bố rằng không có không có bài đăng nào và sau đó kết thúc như vậy 2Sau đó, chúng tôi đặt lại truy vấn để có thể sử dụng lại truy vấn như vậy 3Khi phần đó đã hoàn thành, chúng tôi chuyển sang một vòng lặp khác với một số yêu cầu khác được thực hiện 4Trong đoạn mã trên, chúng tôi đang bù đắp bằng 1, yêu cầu 3 bài đăng từ loại bài đăng và bỏ qua bài đăng dính Chức năng WP_Query() – Cách ưa thích để tùy chỉnh vòng lặpĐây là cái sẽ sử dụng sẽ bao gồm phần lớn các trường hợp sử dụng của bạn Ghi chú. Có hai phần để Sao chép vào trình soạn thảo văn bản của bạn Với nó, trước tiên bạn sẽ bắt đầu tạo một biến $args, sau đó là một biến khác mà tôi sẽ gọi là $the_query cho truy vấn thực tế. Đây là giao diện của nó Ghi chú. đoạn mã này đi trước vòng lặp 5Biến $args được gán giá trị của một mảng kết hợp. Mảng có các cặp khóa giá trị là đối số để truy vấn xử lý Sau đó, bạn sẽ bắt đầu quá trình kiểm tra bài viết và vòng lặp như thế này. Những gì bạn sẽ nhận thấy là bây giờ chúng tôi đang sử dụng $the_query với ký hiệu mũi tên -> trước các hàm have_posts và the_post 6Thay vì chia nhỏ mã, hãy xem kỹ mã đó và xem liệu bạn có thể tìm ra mã đó không. Nếu bạn đã theo dõi, bạn sẽ có thể xem mã đang làm gì. Thử thách có được chấp nhận không? Nhiều vòng lặp với WP_QueryGiờ đây, bạn thực sự có thể thực hiện một số điều thú vị với vòng lặp thông qua hàm WP_Query(). Bạn có thể có các phần khác nhau của cùng một trang hiển thị các bài đăng khác nhau dựa trên danh mục, thẻ, ID, tác giả, loại bài đăng, v.v. Nó được tạo ra để bạn quyết định cách bạn muốn dữ liệu được hiển thị. Tôi cũng nên đề cập rằng bạn cũng sẽ cần viết mã HTML & CSS được sử dụng cho các phần khác nhau. Ngoài ra, nếu bạn muốn sử dụng các khu vực được widget hóa khác nhau, thì bạn cũng sẽ phải viết mã đó Hãy xem cách chúng tôi sử dụng hai truy vấn khác nhau để hiển thị các bài đăng khác nhau dựa trên tên danh mục 7Lưu ý rằng chúng tôi đang viết mã này hơi khác một chút. Thay vì tạo một biến $args, chúng ta chuyển các đối số trực tiếp bên trong WP_Query như vậy 8và đối với truy vấn thứ hai trong đoạn mã, chúng tôi viết mã theo cách này 9Bạn có thể viết mã theo một trong hai cách. Bạn sẽ chỉ tìm thấy một vài đối số, bạn sẽ sử dụng phương pháp này thay vì nếu bạn có nhiều đối số muốn truy vấn, thì bạn nên sử dụng phiên bản $args trong phần đầu tiên ở trên Truy vấn dựa trên Loại bài đăngGiả sử bạn có nhiều loại bài đăng tùy chỉnh khác nhau hoặc chỉ muốn hiển thị bất kỳ loại bài đăng chung nào trong các khu vực được chỉ định. Bạn sẽ sử dụng mã như thế này 0Trong đoạn mã trên, chúng tôi tạo một biến mới gọi là $query và gán cho nó giá trị của new WP_Query với một mảng kết hợp với cặp khóa => giá trị của post_type => page. Nếu bạn muốn hiển thị bài đăng hoặc bất kỳ loại bài đăng nào khác, kể cả các loại bài đăng tùy chỉnh, bạn sẽ thay đổi trang cho loại bài đăng khác đó Bạn cũng có thể truy vấn nhiều danh mục hoặc thẻ cùng một lúc. Điều này hữu ích nếu bạn có nhiều danh mục trên trang web của mình nhưng cần một truy vấn cụ thể chỉ để nói một vài danh mục. Nhìn vào ví dụ dưới đây 1Sử dụng get_posts() để lặpCho đến nay, chúng tôi đã đề cập đến query_posts() và WP_Query. Bây giờ là lúc dùng thử get_posts(). Mặc dù WP_Query là cách ưa thích để truy vấn dữ liệu, nhưng get_posts() lại lý tưởng cho các truy vấn nhỏ hơn. Hãy thử điều này trong thanh bên của bạn. tập tin php. Hãy xem một ví dụ 2Điều đầu tiên chúng tôi làm là gọi biến $post toàn cầu, sau đó chúng tôi thiết lập các tham số của mình thông qua biến $args. Trong ví dụ này, tôi chọn truy xuất 10 bài đăng nhưng tôi cũng chọn loại trừ danh mục 29 Sau đó, tôi tạo biến $latest_posts và gán giá trị của hàm get_posts với $args. Sau đó, chúng tôi sử dụng vòng lặp foreach để lặp qua $latest_posts dưới dạng $post riêng lẻ Một số dữ liệu liên quan đến bài đăng không có sẵn cho get_posts theo mặc định, chẳng hạn như nội dung bài đăng thông qua the_content() hoặc ID số. Điều này được giải quyết bằng cách gọi một hàm bên trong setup_postdata(), với mảng $post làm đối số của nó Sau đó, chúng tôi sử dụng một số thẻ mẫu để lấy tiêu đề, hình thu nhỏ và đoạn trích. Tiếp theo là kết thúc foreach và đặt lại postdata Sử dụng pre_get_post để tùy chỉnh Vòng lặp WordPresspre_get_posts là hook cho phép bạn tùy chỉnh vòng lặp. Điều này sẽ thực hiện các thay đổi trực tiếp đối với đối tượng truy vấn, do đó không cần biến toàn cục hoặc trả về bất kỳ giá trị nào. Đây không phải là giải pháp lý tưởng cho các trang riêng lẻ, kho lưu trữ và nó có thể gây ra sự cố với một số thẻ mẫu như is_front_page, is_page, is_singular và các thẻ khác Bạn cũng nên sử dụng các thẻ có điều kiện cùng với thẻ này để có thể đảm bảo nhận được kết quả mong muốn, ở nơi bạn muốn. Đoạn mã dưới đây sẽ được đặt trong chức năng của bạn. tập tin php 3Hãy xem qua mã Bạn cũng có thể loại trừ một danh mục bằng cách thay vì ID dương là 29 cho danh mục cụ thể của tôi, bạn chỉ cần nói -29 và danh mục đó sẽ bị loại trừ. Bạn cũng có thể loại trừ hoặc bao gồm nhiều danh mục bằng cách sử dụng dấu phẩy để phân tách từng danh mục Nếu bạn muốn bao gồm bất kỳ loại bài đăng tùy chỉnh nào bạn có thể có trong kết quả tìm kiếm, bạn sẽ sử dụng mã như thế này 4Trong đoạn mã trên, chúng tôi đang tạo chức năng tùy chỉnh có tên là cpt_search_filter và sau đó chúng tôi kiểm tra điều kiện if để đảm bảo rằng chúng tôi không có trong phần quản trị hay còn gọi là back-end của trang web và đó là truy vấn chính. Nếu điều đó đúng, thì chúng tôi sẽ kiểm tra xem truy vấn có dành cho tìm kiếm hay không và sau đó chúng tôi đặt truy vấn để bao gồm loại bài đăng tùy chỉnh của chúng tôi, trong trường hợp này là danh sách. Sau đó, chúng tôi kết thúc với add_action của mình Vòng lặp mẫu đơn và trangTrong suốt hướng dẫn này, tôi đã chỉ cho bạn cách làm việc với vòng lặp trên Trang Blog hiển thị nhiều bài đăng. Bây giờ, hãy xem nhanh một bài đăng hoặc trang đơn. php có nội dung. phpĐoạn mã tiếp theo này là từ Chủ đề đào tạo DevWP và đó là hai đoạn mã để xem xét. người độc thân. tập tin php và nội dung. tập tin php 5Sau đó, có mã trong nội dung. tập tin php 6trang. php với trang nội dung. phpMã tiếp theo này cũng đến từ Chủ đề đào tạo DevWP WordPress 7và đây là trang nội dung. mã php 8Bên cạnh việc sử dụng hai tệp cho mỗi tệp là một phần để giữ mã của bạn theo mô-đun, điểm khác biệt chính là dòng này có thể tìm thấy trong cả hai tệp được sử dụng để hiển thị nội dung thực tế 9Hàm the_content() được xử lý hơi khác một chút trong mỗi tệp nhưng cuối cùng tạo ra toàn bộ nội dung thay vì chỉ một đoạn trích Đặt lại vòng lặp WordPressXuyên suốt hướng dẫn này, tôi đã trình bày một số cách đặt lại vòng lặp. Đây là bước cần thiết để chúng ta có thể sử dụng lại vòng lặp. Có 3 cách để thiết lập lại vòng lặp và chúng bao gồm
Tóm lại làHọc cách làm việc với Vòng lặp WordPress cực kỳ quan trọng đối với các nhà phát triển chủ đề và plugin. Bạn thực sự có thể tùy chỉnh vòng lặp cho phù hợp với nhu cầu của mình và nhận được kết quả mong muốn Hy vọng rằng bạn thấy hướng dẫn này hữu ích, nếu bạn thấy hữu ích, hãy chia sẻ nó với những người khác và cũng đảm bảo xem video để có cái nhìn tổng quan trực quan hơn về Vòng lặp WordPress Vòng lặp trong WordPress ở đâu?Vòng lặp WordPress là gì? . Các chủ đề WordPress sử dụng một vòng lặp để hiển thị các bài đăng trên các trang web hiện tại. Vòng lặp dựa trên một số chức năng được thiết kế để hiển thị các bài đăng bằng cách chạy các chức năng này. A PHP code that displays WordPress posts is called a loop or WordPress loop. WordPress themes use a loop to display the posts on the current web pages. Loop is based on some functions designed to display the posts by running these functions.
Thẻ lặp trong WordPress là 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, WordPress xử lý từng bài đăng để được hiển thị trên trang hiện tại và định dạng bài đăng đó theo cách nó phù hợp với tiêu chí được chỉ định trong thẻ Vòng lặp. Mọi mã HTML hoặc PHP trong Vòng lặp sẽ được xử lý trên mỗi bài đăng.
Vòng lặp WordPress chạy bao lâu một lần?Vòng lặp WordPress chạy bao lâu một lần? . Ngay cả trên các trang tĩnh, nó lặp qua nội dung có sẵn. Tuy nhiên, trong trường hợp này, nó dừng lại sau một lượt. Until there is nothing left to display. Even on static pages it loops through the available content. However, in this case, it stops after one pass.
Vòng lặp truy vấn là gì?Khối vòng lặp truy vấn là một khối nâng cao cho phép bạn hiển thị các bài đăng dựa trên các tham số được chỉ định; . Trong WordPress, Vòng lặp có nghĩa là hiển thị dữ liệu cụ thể theo cách lặp đi lặp lại. Mỗi bài đăng thường hiển thị tiêu đề, tác giả, ngày tháng, nội dung bài đăng và nhận xét |