Tôi là một fan hâm mộ lớn của lớp WP_Query: Tôi sử dụng nó trên một số trang web khách hàng để tìm nạp và hiển thị dữ liệu theo cách được cá nhân hóa.

Nếu bạn muốn sử dụng nhiều vòng lặp trên một trang, cách tốt nhất để làm điều đó là chạy "WP_Query" bất cứ khi nào bạn cần lặp.

Nhưng có một nhược điểm: Bất cứ khi nào WordPress thực hiện một vòng lặp, nó sẽ gửi các truy vấn đến cơ sở dữ liệu, việc này sẽ mất nhiều thời gian hơn và có thể làm chậm trang web của bạn.

Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách sử dụng truy vấn cho nhiều vòng lặp. Bạn có thể làm điều này với truy vấn chính hoặc bạn có thể sử dụng kỹ thuật tương tự với WP_Query.

Chúng tôi sẽ khám phá khía cạnh 3:

 

  • Tạo một chủ đề con và một tệp mẫu.
  • Tạo một mảnh mẫu cho nội dung vòng lặp.
  • Tạo các vòng lặp của chúng tôi.

 

Nhưng trước khi chúng ta cùng nhau khám phá Làm thế nào để cài đặt một bước 7 blog WordPress et Làm thế nào để tìm kiếm, cài đặt và kích hoạt một chủ đề WordPress trên blog của bạn 

Sau đó trở lại lý do tại sao chúng ta ở đây.

Những gì bạn cần

Để thực hiện theo hướng dẫn này, bạn sẽ cần:

 

  • Từ một cài đặt WordPress để phát triển (cục bộ).
  • Một trình soạn thảo mã.
  • Các bài viết trong trang web của bạn với nhiều danh mục được chỉ định
  • chủ đề thứ hai mươi mười sáu của WordPress
  • Một chủ đề con của hai mươi mười sáu được cài đặt và kích hoạt

 

Kỹ thuật này cũng thích ứng với tình huống của bạn và theme WordPress.

Tạo một chủ đề con

Đầu tiên, chúng ta sẽ tạo chủ đề con của hai mươi sáu. Tôi đang làm điều này vì tôi không muốn thay đổi chủ đề chính.

Khám phá Làm thế nào để cài đặt một child theme WordPress

Trong thư mục "wp-content / Themes" của bạn, hãy tạo một thư mục trống mới, bạn sẽ gọi "chủ đề gia sư". Sau này bạn có thể chọn tên phù hợp với bạn.

Trong thư mục này, tạo một tệp có tên style.css và thêm đoạn mã sau:

/*

Tên chủ đề: Chủ đề Tuto

URI chủ đề: https://blogpascher.com

Mô tả: Chủ đề để hỗ trợ Hướng dẫn chạy nhiều vòng trong khi truy vấn cơ sở dữ liệu chỉ một lần. Chủ đề trẻ em cho chủ đề Twenty Sixteen.

Tác giả: Hervé

URI tác giả: https://blogpascher.com

Bản mẫu: twentysixteen

Version: 1.0

*/

 

@import url ("../twentysixteen/style.css");

Bây giờ hãy lưu tệp này và kích hoạt theme WordPress.

Bước tiếp theo là tạo tệp mẫu cho các danh mục, đó là những gì chúng tôi sẽ làm việc.

Tạo một bản sao của tập tin “archive.php” từ theme WordPress “Hai mươi sáu.” Đừng di chuyển nó, nhưng hãy tạo một bản sao của nó. Đổi tên nó thành “category.php”.

Để đi xa hơn, khám phá Làm thế nào để quản lý tập tin và thư mục WordPress

Bây giờ đây sẽ là tệp mẫu cho các danh mục của trang web của bạn.

Tạo một tệp mẫu mới

Bước đầu tiên là tạo một tệp mẫu mới trong chủ đề của chúng tôi sẽ chứa phiên bản sửa đổi của vòng lặp "hai mươi mười sáu".

Chúng ta cũng hãy tham khảo ý kiến ​​cùng nhau Cách đặt trang web WordPress của bạn ở chế độ Bảo trì

Trong thư mục chủ đề con, tạo thư mục con có tên "bao gồm". Và bên trong, tạo một tệp mới có tên "loop-category.php".

Tiếp theo, mở tệp "template-part / content.php" từ các thư mục chủ đề gốc (hai mươi mười sáu) và tìm mã sau đây:

" >

 

 

 

 

 

 ', esc_url (get_permalink ())),' '); ?>

 

 

 

 

 

 

 

 <?php

 / * người dịch:% s: Tên bài đăng hiện tại * /

 the_content (chạy nước rút (

 __ ('Tiếp tục đọc '% s ' ', 'XNUMXthysixteen'),

 get_the_title ()

 ));

 

 wp_link_pages (mảng (

 'trước' => ' '. __ ('Trang:', 'hai mươi mốt'). ' ',

 'sau' => ' ',

 'link_before' => ' ',

 'link_ after' => '',

 'pagelink' => ' '. __ ('Trang', 'hai mươi mốt'). ' %',

 'dấu phân cách' => ' , ',

 ));

 ?>

 

 

 

 

 <?php

 edit_post_link (

 sprintf (

 / * người dịch:% s: Tên bài đăng hiện tại * /

 __ ('Chỉnh sửa '% s ' ', 'XNUMXthysixteen'),

 get_the_title ()

 ),

 ' ',

 ''

 );

 ?>

 

Sao chép mã này vào tệp "loop-category.php" mới của chủ đề con.

Chỉnh sửa tệp phần mẫu

Vòng lặp "hai mươi sáu" hiển thị nhiều hơn những gì tôi cần, vì vậy tôi sẽ sửa đổi mã này. Tôi chỉ muốn hiển thị đoạn trích chứ không phải nội dung, vì vậy chúng tôi sẽ xóa nội dung.

Sự khác biệt giữa H1 và tiêu đề SEO của một bài viết WordPress là gì? Tìm hiểu bằng cách tham khảo bài viết này.

Trong tệp loop-category.php mới của bạn, tìm mã này và xóa nó:

<div class = "entry-content">

 <?php

 / * người dịch:% s: Tên bài đăng hiện tại * /

 the_content (chạy nước rút (

 __ ('Tiếp tục đọc '% s ' ', 'XNUMXthysixteen'),

 get_the_title ()

 ));

 

 wp_link_pages (mảng (

 'trước' => ' '. __ ('Trang:', 'hai mươi mốt'). ' ',

 'sau' => ' ',

 'link_before' => ' ',

 'link_ after' => '',

 'pagelink' => ' '. __ ('Trang', 'hai mươi mốt'). ' %',

 'dấu phân cách' => ' , ',

 ));

 ?>

Bước còn lại là thay thế hàm "hai mươi_sixteen_excerpt ()" bằng hàm "the_excerpt ()", bởi vì phiên bản hai mươi sáu không cung cấp liên kết đến toàn bộ bài viết.

Xem thêm Làm thế nào để xem bài viết gần đây trong một thể loại cụ thể

Tìm dòng này:

Thay thế nó bằng cái này:

Chúng tôi cũng cần thực hiện một số thay đổi cho các thẻ tiêu đề.

Trong phần mô hình, thay đổi dòng:

', esc_url (get_permalink ())),' '); ?>

Chỉnh sửa thẻ H2 cho H3:

', esc_url (get_permalink ())),' '); ?>

Đăng ký mô hình của bạn. Sau đó quay trở lại tập tin category.php của bạn, chúng tôi sẽ tiếp tục với nó.

Tạo các vòng lặp

Trước hết, chúng tôi sẽ xóa việc bao gồm mã "hai mươi sáu" khỏi tệp "category.php" của chúng tôi, vì chúng tôi sẽ cần sử dụng tệp mới.

Trong tập tin category.php của bạn tìm mã này:

get_template_part ('template-part / content', get_post_format ());

Và xóa.

Sau đó, chúng tôi sẽ tạo ra các vòng lặp.

Trong ví dụ này, tôi sẽ hiển thị tất cả các bài đăng có thẻ "content", sử dụng thẻ điều kiện "has_tag ()". Điều này có nghĩa là tôi sẽ phải trải qua ba vòng lặp:

 

  • Kiểm tra đầu tiên nếu truy vấn đã đăng các mục với thẻ này.
  • Nếu vậy, thứ hai hiển thị các bài viết với nhãn này.
  • Một phần ba hiển thị các bài viết mà không có thẻ này.

 

Giữa mỗi vòng lặp, tôi sẽ sử dụng tua lại_posts () để tua lại các tin nhắn mà không đặt lại truy vấn: chúng tôi luôn làm việc với yêu cầu chính mỗi lần.

Vòng lặp đầu tiên: Xác minh bài viết

Trong tệp "category.php" của bạn, tìm phần đầu của vòng lặp:

trong khi (have_posts ()): the_post ();

Trên dòng này, xác định một biến mới gọi là $ Count:

$ count = 0;

Sau đó, bên trong vòng lặp đó thêm mã này:

// kiểm tra xem có bài đăng nào có thẻ »không

$ tag = 'nội dung';

if (has_tag (thẻ $)) {

 $ đếm + = 1;

}

Mã này kiểm tra xem các tin nhắn có nhãn "nội dung" hay không sau đó thêm 1 vào bộ đếm nếu có.

Bên trong của vòng lặp sẽ tương tự như sau:

// Kiểm tra bài viết trong vòng lặp đầu tiên.

$ count = 0;

trong khi (have_posts ()): the_post ();

 

// kiểm tra xem có bài đăng nào có thẻ »không

$ tag = 'nội dung';

if (has_tag (thẻ $)) {

 $ đếm + = 1;

}

 

endwhile;

Vòng lặp thứ hai: Khôi phục bài viết bằng thẻ

Bước tiếp theo là lặp để hiển thị các bài viết có thẻ này, chỉ khi có bất kỳ thẻ nào.

Ví dụ: nếu giá trị của $ đếm lớn hơn 0.

Khám phá quá Làm thế nào để tùy chỉnh các bảng điều khiển WordPress cho một khách hàng

Thêm điều kiện này vào vòng lặp:

if ($ count> 0) {

 

 rewind_posts ();

 

 echo ' Bài viết được gắn thẻ với '. thẻ $. ' ';

 

 

 trong khi (have_posts ()): the_post ();

 

 if (has_tag (thẻ $)) { 

 get_template_part ('bao gồm / vòng lặp', 'danh mục'); 

 }

 

 // Kết thúc vòng lặp.

 endwhile;

 

}

Mã này xác minh rằng $ đếm lớn hơn 0 và nếu vậy, tua lại các mục và chạy lại vòng lặp. Đối với mỗi mục, nó sẽ kiểm tra xem nó có sở hữu nhãn của chúng tôi hay không, và nếu vậy, nó gọi phần của mẫu mà chúng ta vừa tạo.

Vòng lặp thứ ba: Xem phần còn lại của bài viết

Đầu ra sẽ là một vòng lặp cuối cùng cho các bài viết còn lại. Nếu danh mục này không có bài viết có thẻ “nội dung” thì nó sẽ hiển thị tất cả các bài viết trong danh mục.

Học tốt Làm thế nào để tạo ra một blog đa tác giả và cho phép độc giả của bạn để đăng bài viết trên blog của bạn

Trong vòng lặp thứ hai của bạn, thêm điều này:

rewind_posts ();

 

 

// Vòng lặp thứ hai - bài đăng không có thẻ 'nội dung'

trong khi (have_posts ()): the_post ();

 

 if (! has_tag (thẻ $)) { 

 get_template_part ('bao gồm / vòng lặp', 'danh mục'); 

 }

 

// Kết thúc vòng lặp.

cuối cùng; ?>

Đoạn mã cuối cùng này tua lại các bài báo, sau đó thực hiện lại vòng lặp. Lần này, nó sẽ kiểm tra nếu một bài viết không có thẻ "content", thì nó sẽ hiển thị nội dung trong "template-part".

Chúng tôi cũng đề nghị bạn khám phá Làm thế nào để thêm một bản in tùy chọn bài viết về WordPress

Bây giờ bạn có thể kiểm tra trang bài viết của blog của bạn. Hãy nhớ rằng bạn có thể thay đổi các bộ lọc. Trong hướng dẫn này, chúng tôi đã sử dụng "nội dung" làm bộ lọc nhãn, nhưng bạn có thể sử dụng một trong những lựa chọn của mình.

Khám phá thêm một số plugin WordPress cao cấp  

Bạn có thể sử dụng cái khác plugin WordPress để tạo ra một giao diện hiện đại và để tối ưu hóa việc xử lý blog hoặc trang web của bạn.

Chúng tôi cung cấp cho bạn ở đây một số plugin WordPress cao cấp sẽ giúp bạn làm điều đó.

1. Social Addon tường cho UserPro

UserPro có thể thú vị hơn nhiều với tường xã hội. Đây là những gì mà phần mở rộng Social Wall của nó mang lại. Với plugin Social Wall, bạn có thể tạo một bức tường trên trang web của mình và cung cấp cho các thành viên của bạn một cách mới mẻ để tương tác với cộng đồng.

Le Plugin WordPress Social Wall cho phép người dùng của bạn: chia sẻ tin nhắn với nhau, chia sẻ hình ảnh, bình luận về bài viết của người khác, người dùng có thể thích hoặc không thích một tin nhắn, họ có thể chọn hiển thị tường chỉ cho người dùng đã đăng nhập hoặc cho tất cả người dùng, quản trị viên có thể xóa bài đăng hoặc nhận xét của người dùng, v.v.

Tải về | Bản demo | Web hosting

2. Flipkart Affiliate Plus

Flipkart Affiliate Plus là một Plugin WordPress mô-đun kết nối trang web WordPress của bạn với API đơn vị liên kết Flipkart. 

Ce Plugin WordPress Việc nhập dữ liệu sản phẩm từ Flipkart và cập nhật trực tiếp trên trang web của bạn trở nên rất dễ dàng. Flipkart Affiliate Plus là plugin WordPress đầu tiên dành cho API Flipkart chính thức. Khi sử dụng nó, bạn sẽ không cần sử dụng API của bên thứ ba. Do đó, bạn được hưởng lợi hoàn toàn từ công việc của mình.

Tải về | Bản demo | Web hosting

3. Google Analytics có thể hành động cho WooCommerce

Google Analytics hữu ích là một plugin WordPress cho phép bạn sử dụng một số tính năng tốt nhất của Universal Analytics, bao gồm: Thương mại điện tử nâng cao và Theo dõi ID người dùng. Ngoài ra, plugin này hỗ trợ ẩn danh địa chỉ IP, hoàn tiền sản phẩm, nhóm nội dung, theo dõi biểu mẫu, v.v.

Bằng cách sử dụng plugin WordPress này, bạn sẽ tiết kiệm thời gian trong việc tích hợp mã Google Analytics phức tạp, do đó bạn có thể tập trung vào việc quản lý dữ liệu của mình.

Các tính năng chính của nó là: cài đặt nhanh chóng và dễ dàng, truy cập vào 9 báo cáo Thương mại điện tử nâng cao, khả năng nghiên cứu cách các thiết bị khác nhau được sử dụng bởi cùng một người dùng và cách mua hàng, khả năng phân tích sản phẩm nào được hoàn trả thường xuyên nhất, cuối cùng là thực hiện hành động khắc phục hậu quả và hơn thế nữa.

Tải về | Bản demo | Web hosting

Các tài nguyên được đề xuất khác

Chúng tôi cũng mời bạn tham khảo các tài nguyên dưới đây để đi xa hơn trong việc kiểm soát và kiểm soát trang web và blog của bạn.

 

 

Kết luận

Đây ! Đó là tất cả cho hướng dẫn kỹ thuật khá này. Hy vọng chúng tôi đã giải thích rõ ràng về cách sử dụng đúng cách WP_Query trên WordPress. thoải mái để chia sẻ mẹo với bạn bè trên mạng xã hội của bạn.

Tuy nhiên, bạn cũng sẽ có thể tham khảo ý kiến ​​của chúng tôi ressources, nếu bạn cần thêm các yếu tố để thực hiện các dự án tạo trang Internet của mình, bằng cách tham khảo hướng dẫn của chúng tôi về Tạo blog WordPress.

Nhưng trong lúc này, hãy cho chúng tôi biết về bạn ý kiến và đề xuất trong phần dành riêng.

...