Lấy liên kết bài viết trong vòng lặp wordpress

Bằng cách này, tôi không có nghĩa là nó lớn. Trên thực tế, nó phải gọn gàng, chặt chẽ và nhanh chóng nhất có thể. Nhưng đó là một phần quan trọng tạo nên WordPress, vâng, WordPress. Không có nó, bạn không thể truy vấn cơ sở dữ liệu và hiển thị nội dung của mình, cho dù đó là kho lưu trữ blog, trang “Giới thiệu” hay bài đăng mới nhất của bạn

Không có gì hoạt động mà không có Vòng lặp WordPress

Vì vậy, bây giờ chúng tôi đã thiết lập tầm quan trọng của vòng lặp, bạn có thể tự hỏi nó là gì nếu bạn chưa từng gặp nó trước đây

Trong bài viết này, tôi sẽ trả lời câu hỏi đó. Tôi sẽ chỉ cho bạn vòng lặp là gì, nó hoạt động như thế nào và nó sẽ đi đến đâu. Tôi cũng sẽ cung cấp cho bạn một số mẹo để tùy chỉnh vòng lặp WordPress và làm cho nó hoạt động cho bạn

Hãy bắt đầu bằng cách xác định vòng lặp WordPress làm gì và nó đi đâu

Tiếp tục đọc hoặc tiếp tục sử dụng các liên kết này

Vòng lặp WordPress là gì và tôi có thể tìm thấy nó ở đâu?

Vòng lặp WordPress là một vài (hoặc đôi khi nhiều) dòng mã truy cập cơ sở dữ liệu, tìm nạp bất kỳ nội dung có liên quan nào và sau đó hiển thị nội dung đó. Mã này sẽ bao gồm PHP để truy cập cơ sở dữ liệu và sự kết hợp giữa PHP và HTML để xuất ra những gì được tìm thấy

Lý do nó được gọi là vòng lặp là bởi vì nó lặp lại - nó lặp lại chính nó cho đến khi không còn gì khác để hiển thị. Khi xem một trang tĩnh, điều này có nghĩa là nó sẽ chỉ lặp lại một lần nhưng trên kho lưu trữ danh mục hoặc trang blog chính của bạn, nó sẽ tiếp tục lặp lại và xuất nội dung cho đến khi không còn gì để hiển thị

Những gì vòng lặp WordPress tìm nạp và xuất ra phụ thuộc vào một số điều

  • Loại nội dung nào đang được xem
  • Bất kỳ tùy chỉnh nào bạn đã thực hiện đối với Vòng lặp WordPress (nhiều hơn về sau)
  • Các chức năng bạn sử dụng để hiển thị các mục từ cơ sở dữ liệu (chẳng hạn như tiêu đề bài đăng, nội dung và bất kỳ siêu dữ liệu nào)
  • HTML bạn bọc nội dung của mình trong

Bạn sẽ tìm thấy Vòng lặp WordPress trong mọi tệp mẫu trong chủ đề của mình. Trong bài đăng này, chúng ta sẽ kiểm tra Vòng lặp WordPress trong chủ đề mặc định hiện tại, 2016. Nếu bạn chưa có quyền truy cập vào chủ đề đó, hãy tải xuống và mở nó trong trình chỉnh sửa mã yêu thích của bạn. Khi chúng tôi làm việc với bài đăng này, tôi sẽ tham khảo các tệp và đoạn mã khác nhau trong chủ đề đó và sẽ hữu ích nếu bạn có thể xem qua và làm theo

Lấy liên kết bài viết trong vòng lặp wordpress
Trong bài đăng này, tôi sẽ tách vòng lặp trong chủ đề mặc định Twenty Sixteen

Vòng lặp WordPress ở đâu?

Bạn sẽ tìm thấy Vòng lặp WordPress trong mọi tệp mẫu chủ đề hoặc thay vào đó, bạn có thể tìm thấy một hàm lấy nó từ một phần mẫu

Phần mẫu là một tệp chứa mã được sử dụng nhiều lần trong toàn bộ chủ đề, trong đó Vòng lặp WordPress là một ví dụ. Vì vậy, thay vì lặp lại vòng lặp trong mỗi tệp mẫu, mỗi tệp sẽ lấy phần mẫu và chạy cùng một mã

Bạn có thể sử dụng nhiều tệp được bao gồm trong chủ đề của mình, ví dụ: bạn có thể chỉ muốn một phiên bản Vòng lặp WordPress cho tất cả các trang lưu trữ và một phiên bản khác cho tất cả các trang đơn lẻ

Chúng ta hãy xem chủ đề Twenty Sixteen để hiểu tất cả những điều này

Đây là cấu trúc tệp của chủ đề

Lấy liên kết bài viết trong vòng lặp wordpress

Có một loạt các tập tin mẫu

  • 404. php
  • lưu trữ. php
  • cuối trang. php
  • hình ảnh. php
  • mục lục. php
  • trang. php
  • Tìm kiếm. php
  • Độc thân. php

Chủ đề cũng có một số phần mẫu trong thư mục chính

  • bình luận. php
  • cuối trang. php
  • tiêu đề. php
  • Form tìm kiếm. php
  • thanh bên-nội dung-dưới cùng. php
  • thanh bên. php

Và nó có nhiều phần mẫu hơn bên trong thư mục phần mẫu. Mỗi trong số này sẽ được gọi ở một nơi khác trong chủ đề. Các tệp khác như chức năng. php và phong cách. css có vai trò cụ thể của riêng họ

Hãy cùng xem một ví dụ về Vòng lặp WordPress. Đầu tiên, mở trang. tập tin php

Đây là mã của nó, đầy đủ

Đang tải ý chính 46d855f595e66f4a66cbafa8f02c75db

Vì vậy, phần nào của điều này là vòng lặp?

Cái giếng. có một điều bạn cần chú ý khi tìm kiếm vòng lặp và đó là dòng này

Đang tải ý chính 5140dd3cc3b9c51a7596b3a97d540438

Đây là những gì bắt đầu Vòng lặp WordPress. Và dòng này đóng vòng lặp

Đang tải ý chính 8da12831fa01fb248044926163078aeb

Vì vậy, điều này có nghĩa là vòng lặp trong trang này. tệp mẫu php đang chạy bằng những dòng mã này

Đang tải ý chính 135d44b633a2936bed2bfc57a3cf4b76

Nhưng điều này không bao gồm các thẻ mẫu và HTML hiển thị nội dung của Vòng lặp WordPress. Thay vào đó, đó là tất cả trong trang nội dung. tập tin php. Nó làm điều đó với dòng này

Đang tải ý chính 8058f344a2ac3e9c0b05f213f0308e9e

Hàm get_template_part() đó tìm nạp nội dung của phần mẫu và chạy chúng tại thời điểm này trong tệp mẫu, giống như khi mã được mã hóa vào tệp này

Trước khi chúng tôi chuyển sang xem chi tiết nội dung của phần mẫu đó, hãy dành chút thời gian để mở một số tệp mẫu khác trong chủ đề. Mỗi người trong số họ tham khảo phần mẫu có liên quan, với một vài ngoại lệ

  • 404. php không bao gồm Vòng lặp WordPress vì nếu người dùng truy cập trang 404 thì sẽ không có bất kỳ dữ liệu nào để tìm nạp và xuất
  • lưu trữ. php và chỉ mục. php tìm nạp phần mẫu cho định dạng bài đăng có liên quan, sử dụng phân loại định dạng bài đăng. Điều này có nghĩa là bạn có thể viết một phần mẫu cho từng định dạng bài đăng, với mã cần thiết để xuất các bài đăng có định dạng khác nhau. Nếu những tệp này không tồn tại, nó sẽ quay trở lại nội dung. php
  • hình ảnh. php không tìm nạp một phần mẫu – thay vào đó, vòng lặp được mã hóa trong tệp mẫu
  • trang. php tìm nạp trang nội dung. phần mẫu php
  • Tìm kiếm. php tìm nạp tìm kiếm nội dung. phần mẫu php
  • Độc thân. php tìm nạp nội dung đơn. phần mẫu php

Vòng lặp WordPress được mổ xẻ

Hãy chuyển sang xem xét kỹ hơn về Vòng lặp WordPress. Vì chúng tôi đã làm việc với trang. php, hãy kiểm tra trang nội dung. tập tin php. Mở nó trong trình chỉnh sửa mã của bạn

Ghi chú. Nếu bạn đang viết một chủ đề, bạn có thể chọn sử dụng các phần mẫu cho vòng lặp của mình hoặc viết mã trực tiếp vào các tệp mẫu. Sử dụng thuật ngữ, phần tấm sẽ làm cho chủ đề của bạn hiệu quả hơn nhưng bạn có thể thấy rằng chủ đề bạn đang sử dụng chỉ có vòng lặp được mã hóa trong tệp mẫu. Cả hai sẽ làm việc

Đây là mã trong trang nội dung. php

Đang tải ý chính f308f6fe43211eb7f522d20f6c1371c8

Hãy lần lượt đi qua từng phần của phần này

Mở phần tử và hiển thị tiêu đề

Đầu tiên, tệp mở phần tử article và xuất tiêu đề bài đăng bên trong phần tử header

Đang tải ý chính 0b802d9bdec93a3d236b6e9e36eb8b99

Phần tử article có một ID sử dụng thẻ mẫu the_ID() để lấy ID của bài đăng và một lớp được xác định bằng thẻ mẫu post_class(). Điều này mang lại cho nó một lớp bao gồm ID của bài đăng, loại bài đăng, nguyên tắc phân loại, v.v.

Sau đó, một phần tử header được mở, bao gồm tiêu đề bài đăng bằng cách sử dụng thẻ mẫu the_title(). Phần này có các tham số cho phần đánh dấu đứng trước và sau tiêu đề bài đăng – do đó, phần tử này được chứa trong phần tử h1 với lớp entry-title

Phần tử header sau đó được đóng lại

Hiển thị siêu dữ liệu

Bước tiếp theo là hiển thị bất kỳ siêu dữ liệu nào. Trong chủ đề này, không có nhiều thứ này – chỉ có hình thu nhỏ của bài đăng. Điều này được hiển thị bằng chức năng article1 dành riêng cho chủ đề này. Nếu bạn muốn tìm hiểu chức năng này hoạt động như thế nào, hãy xem trong các chức năng của chủ đề. php - trong phiên bản hiện tại, chức năng này được xác định từ dòng 398

Trong một số chủ đề, nhiều siêu dữ liệu hơn sẽ được xuất ra ở đây, chẳng hạn như mọi trường tùy chỉnh, thông tin tác giả, v.v. Nếu bạn muốn thêm phần này vào chủ đề của riêng mình, hãy xem hướng dẫn của chúng tôi về cách làm việc với siêu dữ liệu

Xuất nội dung bài đăng

Giờ đây, Vòng lặp WordPress sẽ xuất nội dung của bài đăng, với những dòng này

Đang tải ý chính eb5854b52978a6e83e0a06ce255e2b3d

Hãy xem cái này làm gì

  1. Đầu tiên, nó mở một div với lớp entry-content
  2. Sau đó, nó sử dụng thẻ mẫu article2 để lấy nội dung cho cơ sở dữ liệu và hiển thị nó
  3. Nó sử dụng thẻ mẫu article3 để hiển thị các liên kết đến các bài đăng trước và sau đó cho các bài đăng được phân trang. Trong phần mẫu này, điều này sẽ không làm bất cứ điều gì vì các trang không được phân trang, nhưng trong một bài đăng, nó sẽ hiển thị một liên kết đến các bài đăng trước đó và tiếp theo
  4. Nó đóng ______14 div

Trong một số tệp mẫu hoặc phần mẫu, nội dung sẽ không được xuất, nhưng thay vào đó, đoạn trích sẽ. Nếu bạn có một vòng lặp trong kho lưu trữ của mình. php, có thể bạn sẽ chọn sử dụng article5 thay vì article2 để xuất đoạn trích thay thế

kết thúc mọi thứ

Chủ đề 2016 sau đó có một liên kết mà người dùng đã đăng nhập có vai trò người dùng liên quan có thể nhấp vào để chỉnh sửa bài đăng

Đang tải ý chính 8ef10b2beafdd9087d3ddafca57a60cb

Điều này sử dụng hàm article7 với một vài tham số xác định chính xác kết quả đầu ra

Trong một số chủ đề, bạn sẽ thấy rằng nhiều siêu dữ liệu hơn được xuất ra ở đây

Cuối cùng, phần tử article chứa mọi thứ được đóng lại

Tùy chỉnh Vòng lặp WordPress

Vì vậy, đó là Vòng lặp WordPress tiêu chuẩn. Thao tác này sẽ tự động tìm nạp nội dung phù hợp từ cơ sở dữ liệu, tùy thuộc vào trang đang được xem và xuất nội dung đó. Nó cực kỳ hiệu quả vì cùng một mã được sử dụng để hiển thị nhiều loại nội dung khác nhau, từ bài đăng đến trang và các loại bài đăng khác, cũng như kho lưu trữ cho bài đăng, danh mục, tác giả, v.v.

Nếu bạn không muốn Vòng lặp WordPress hoạt động theo cách tiêu chuẩn cho từng loại nội dung, bạn có thể sửa đổi nó. Hoặc nếu bạn muốn xuất một vòng lặp hoàn toàn khác (hoặc một vòng lặp bổ sung) trên một trang, bạn có thể làm như vậy. Hãy xem nhanh cách bạn có thể làm điều này

Sửa đổi vòng lặp chính

Trước khi bạn nghĩ đến việc viết vòng lặp của riêng mình, thay vào đó hãy thử sửa đổi vòng lặp chính. Điều này hiệu quả hơn nhiều vì bạn vẫn đang sử dụng truy vấn chính đang chạy trên mỗi trang

Để làm điều này, bạn viết e hàm mà bạn gắn vào móc article9. Bên trong chức năng này, bạn sử dụng thẻ có điều kiện để xác định khi nào truy vấn sẽ được sửa đổi và một số mã để cho WordPress biết chính xác cách sửa đổi truy vấn đó

Hãy xem xét một ví dụ. Trang blog chính chỉ bao gồm các bài đăng thuộc loại bài đăng. nó sẽ không hiển thị bất kỳ loại bài đăng tùy chỉnh nào của bạn. Nếu bạn muốn sửa đổi điều này để hiển thị loại bài đăng tùy chỉnh trên trang chủ của mình, bạn có thể

Giả sử loại bài đăng tùy chỉnh của bạn được đăng ký là myposttype. Đây là chức năng bạn sẽ thêm vào các chức năng của chủ đề của mình. php để thêm chúng vào trang blog chính

Đang tải ý chính 8e6885d969b07357f508189691d02658

Điều này kiểm tra xem chúng ta có ở trang blog chính với header0 không, rằng chúng ta không ở trong màn hình quản trị với header1 và truy vấn chính đang chạy với header2. Nếu tất cả những điều này đều đúng, thì nó sẽ xác định hai loại bài đăng nào được xuất trong vòng lặp bằng cách sử dụng header3

Viết một vòng lặp mới

Nếu bạn muốn hiển thị nội dung trên một trang mà vòng lặp chính không tìm nạp được hoặc bạn muốn chạy nhiều vòng lặp trên một trang thì bạn có thể viết truy vấn và vòng lặp mới của riêng mình để thực hiện điều này

Có ba phương pháp để làm điều này

  • Sử dụng hàm header4 để tìm nạp và xuất các bài đăng, với các tham số của riêng bạn về số lượng bài đăng, thuật ngữ phân loại hoặc bất kỳ thứ gì khác mà bạn muốn tập trung vào riêng của mình
  • Sử dụng hàm header5 để thực hiện tương tự cho các trang
  • Sử dụng lớp WP_Query để tìm nạp và xuất bất kỳ thứ gì bạn muốn. Đây là một lớp cực kỳ linh hoạt và hữu ích mà bạn có thể sử dụng bất cứ nơi nào bạn muốn trong chủ đề của mình

Để biết hướng dẫn về cách sử dụng từng trong số này, hãy xem hướng dẫn viết truy vấn tùy chỉnh của chúng tôi

Hiểu về Vòng lặp WordPress sẽ giúp bạn tạo các chủ đề WordPress tốt hơn

Hy vọng rằng, giờ bạn đã hiểu rõ hơn về vòng lặp WordPress và cách thức hoạt động của nó

Biết Vòng lặp WordPress bao gồm những gì sẽ giúp bạn hiểu rõ hơn về mã trong các chủ đề mà bạn sử dụng trên trang web của mình. Nó cũng rất cần thiết nếu bạn định viết chủ đề của riêng mình. hiểu rõ Vòng lặp WordPress và tự viết vòng lặp của riêng bạn sẽ tốt hơn nhiều so với việc chỉ sao chép vòng lặp từ nơi khác. Điều này sẽ làm cho chủ đề của bạn thực hiện chính xác những gì bạn cần mà không lãng phí mã, nâng cao hiệu quả

Đó là một phần quan trọng của bất kỳ chủ đề nào và bây giờ bạn đã hiểu nó, điều đó sẽ nâng cao đáng kể kỹ năng xây dựng chủ đề của bạn

Nếu bạn có bất kỳ câu hỏi nào về việc sử dụng hoặc mã hóa Vòng lặp WordPress, hãy cho tôi biết trong các nhận xét bên dưới

Vòng lặp bài đăng 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.
“WordPress Permalinks là các URL cố định cho các bài đăng trên blog cá nhân của bạn, cũng như các danh mục và danh sách khác của các bài đăng trên blog . ” Mỗi trang trong trang web của bạn (bao gồm bài đăng, trang, trang lưu trữ và các trang khác như trang 404) sẽ có permalink riêng.