Bỏ qua đến nội dung chính

Làm thế nào để sử dụng đúng WP_Query trên WordPress

Divi: chủ đề WordPress dễ sử dụng nhất

Divi: Chủ đề WordPress tốt nhất mọi thời đại!

hơn Tải xuống 701.000, Divi là chủ đề WordPress phổ biến nhất trên thế giới. Nó là hoàn chỉnh, dễ sử dụng và đi kèm với hơn 62 mẫu miễn phí. [Khuyến nghị]

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à chủ đề WordPress của bạn.

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 chủ đề WordPress mới của bạn.

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 "archive.php" từ chủ đề WordPress "Twenty Sixteen". Đừng di chuyển nó, nhưng tạo một bản sao. Đổi tê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' => '',

Dễ dàng tạo trang web của bạn với Elementor

Elementor cho phép bạn dễ dàng tạo ra bất kỳ thiết kế trang web nào với một cái nhìn chuyên nghiệp. Ngừng trả tiền đắt cho những gì bạn có thể tự làm. [Miễn phí]

 '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:

Bạn đang tìm kiếm các plugin và plugin WordPress tốt nhất?

Tải xuống các plugin và WordPress chủ đề tốt nhất trên Envato và dễ dàng tạo trang web của bạn. Đã tải xuống nhiều hơn 49.720.000. [ĐỘC QUYỀN]

 

  • 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".

Dễ dàng tạo Cửa hàng trực tuyến của bạn

Tải xuống miễn phí WooCommerce, các plugin thương mại điện tử tốt nhất để bán các sản phẩm vật lý và kỹ thuật số của bạn trên WordPress. [Đề xuất]

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ác plugin WordPress khác để mang lại cái nhìn hiện đại và tối ưu hóa độ bám của 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.

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ỉ dành cho họ. 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 liên kết Flipkart. 

Plugin WordPress này giúp nhập dữ liệu sản phẩm từ Flipkart và cập nhật ngay trên trang web của bạn dễ dàng hơn nhiều. Flipkart Affiliate Plus là plugin WordPress đầu tiên dành cho API Flipkart chính thức. Bằng cách sử dụng nó, bạn sẽ không cần sử dụng bất kỳ API của bên thứ ba nào. Do đó, bạn được hưởng lợi đầy đủ 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.

... 

 

Bài viết này chứa comments 7

  1. Giới thiệu
    | Điều 1 | | arti 2 | | _A3_ | | |
    | __________ | | _______ | _____ | Điều 6 |
    Giới thiệu XUẤT KHẨU | | |
    | _________ 4 _________ | | ____ | | ___________ |

  2. Xin chào Blair,
    Tôi cảm ơn bạn vì những tutos perfais,
    Tôi muốn xin một chút giúp đỡ.
    Tôi đã tạo chủ đề wordpres của riêng mình (html / css) và tôi gặp phải một vấn đề nhỏ mà tôi sẽ cố gắng giải quyết cho bạn: Tôi định tạo một trang web tương tự như msn.com trang web của tôi sẽ được chia thành nhiều phần (tiêu đề ) đó là: tin tức, giải trí, sức khỏe, lối sống ... vv nghĩa là tôi muốn tạo nhóm Bài viết đầu tiên và nhóm thứ hai, nhóm thứ ba… v.v. nhưng hiển thị tất cả các nhóm trên cùng một trang và mỗi nhóm thuộc một phần (niche). Không biết back office này của wordpress có quản lý được nội dung của từng phần riêng biệt không? với vòng lặp wordpress // Đăng nội dung Xin lỗi, không tìm thấy bài viết nào! Tôi nhận được một hỗn hợp các mặt hàng:
    có nghĩa là bài báo cuối cùng của tôi được viết được đặt ngay trên phần đầu tiên là tin tức, trong khi đó là một bài báo thuộc về phong cách sống chẳng hạn.
    Tôi đã xem qua trang này https://codex.wordpress.org/fr:La_Boucle Tôi nghĩ rằng phần vòng nhiều có thể giải quyết vấn đề của tôi!
    Tôi hy vọng bạn hiểu những gì tôi đang cố gắng nói

    cảm ơn bạn trước cho câu trả lời của bạn,
    Trân trọng,

    1. Bonjour,
      Tôi nghĩ rằng bạn đang làm cho nó dễ dàng với chính mình. Những gì tôi hiểu là bạn muốn tổ chức các bài viết của mình thành các chuyên mục (phần) và mỗi phần có thể thuộc về một niche, có thể là các danh mục chính. Vâng, vòng lặp có thể giúp bạn làm điều đó, và nó đơn giản một cách ấn tượng.
      Lòng can đảm!

      1. Bonjour.
        đầu tiên cảm ơn bạn đã trả lời nhanh chóng của bạn. Tôi nghĩ rằng chủ đề tôi vừa tạo không còn tương thích với wordpress nữa và đó là nguyên nhân của vấn đề.
        trong thực tế vì bình luận của bạn không hỗ trợ hình ảnh đính kèm, tôi sẽ giải thích bằng cách vẽ:
        đây là một trong những loại của trang web
        Giới thiệu
        | Điều 1 | | arti 2 | | _A3_ | | | hãy tưởng tượng rằng mỗi bài viết là
        | __________ | | _______ | _____ | Điều 6 | đại diện bởi một gạch; vì vậy chúng tôi có 6
        ______________________ | 5 | | | các mục (mỗi ô chứa hình ảnh
        | _________ 4 _________ | | ____ | | ___________ | và tiêu đề của một bài báo cụ thể)

        vấn đề thực sự của tôi, thưa ông Blair, là tôi không thể kết thúc các bài báo của mình để chúng có thể chuyển từ ô vuông 1 sang ô vuông 6, tức là khi tôi thêm một mục mới và Tôi xuất bản nó, tôi muốn nó thay thế cho bài báo 1 như trong tất cả các chủ đề hiện có.
        - Tôi nghĩ điều đó là không thực tế vì mỗi post (bài viết) đều có những tính chất riêng như vị trí, chiều cao, chiều rộng… vv, bạn nghĩ sao?
        tất nhiên ý tưởng là một chút rõ ràng với sơ đồ này, nếu không nếu tôi không phiền và bạn muốn giúp tôi, bạn có e-mail của tôi (bạn chỉ phải gửi một e-mail có tên của bạn).

        Cảm ơn bạn lần nữa vì đã suy nghĩ lại

        1. Chào buổi tối, trong trường hợp này, bạn sẽ cần thêm các biến kiểu "int", do đó, mỗi lần lặp vòng lặp, bạn sẽ tăng biến và theo giá trị của biến, bạn có thể sửa đổi l hiển thị của bài báo. Ví dụ :

          if ($ i == 1) {
          // mã của bạn ở đây
          } else if ($ i == 2) {
          Tương tự
          }
          $ i ++;

          Thật không may, tôi không thể tự giúp bạn vào thời điểm này.

  3. […] Trong hướng dẫn này, tôi sẽ dạy bạn cách sử dụng truy vấn WP_Query hiệu quả hơn trên WordPress. […]

Để lại một bình luận

Địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu *

Trang web này sử dụng Akismet để giảm bớt không mong muốn. Tìm hiểu thêm về cách sử dụng dữ liệu nhận xét của bạn.

Trở lại đầu trang
0 cổ phiếu
cổ phiếu
tweet
Enregistrer