Làm cách nào để thêm tham số url trong wordpress?

Rewrite API cho WordPress là một tính năng quan trọng mà bạn có thể không đọc nhiều về nó, nhưng chắc chắn là bạn đang sử dụng mà không hề nhận ra. API cung cấp chức năng tạo các liên kết độc đáo của riêng bạn – permalinks – cho trang web của bạn

Trong hướng dẫn này, tôi sẽ giải thích sâu về permalinks – chúng là gì, tại sao chúng tồn tại vĩnh viễn, các cấu trúc có thể có của chúng và cách bạn có thể viết lại chúng ở dạng dễ hiểu cho cả người và máy. Tôi cũng sẽ giải thích một số khái niệm chính đằng sau permalinks trong WordPress, trước tiên hãy xem cách thêm biến vào URL không được tối ưu hóa và cách sử dụng các biến này cũng như giá trị của chúng để truy vấn cơ sở dữ liệu của bạn. Sau đó, chúng ta sẽ khám phá cách viết lại URL và cách xây dựng cấu trúc tốt nhất cho các liên kết cố định đẹp mắt

Những gì chúng tôi sẽ đề cập trong bài viết này

  • Permalinks là gì?
  • URL trong WordPress. Biến truy vấn và chuỗi truy vấn
  • Vars truy vấn công khai và riêng tư
  • Vars truy vấn tùy chỉnh
  • Lớp WP_Query
  • Truy vấn trường tùy chỉnh (Meta)
  • Liệt kê bài viết theo trường tùy chỉnh
  • Permalinks đẹp
  • Thêm thẻ viết lại
  • Plugin Giám sát truy vấn

URL là phương tiện được sử dụng để gửi các yêu cầu HTTP GET trên web. Chính xác hơn, phương thức GET gửi các cặp key=value trong một URL để nhận phản hồi từ một tài nguyên cụ thể (đọc thêm về chủ đề này tại W3Schools)

Lấy URL sau

http. //thí dụ. com/?p=123

Dấu chấm hỏi chia URL này thành hai phần. Phần đầu tiên là tên miền, phần thứ hai là chuỗi truy vấn, là tập hợp các biến truy vấn và giá trị xác định tài nguyên mà người dùng yêu cầu. Chuỗi truy vấn xác định tài nguyên, nhưng nó không cho chúng tôi biết bất cứ điều gì về nội dung của nó. Chúng ta có thể nói rằng nó không có ý nghĩa về mặt ngữ nghĩa đối với con người và máy móc

Nhờ API Viết lại, chúng tôi có thể dịch các URL không có ngữ nghĩa thành ngữ nghĩa tương đương với thao tác viết lại URL. Quy tắc viết lại sẽ dịch URL trước thành cấu trúc sau

http. //thí dụ. com/category/post-title/

Với danh mục và tiêu đề bài đăng trong URL, cấu trúc này mô tả chính xác hơn nội dung tài nguyên cho cả con người và công cụ tìm kiếm, dẫn đến một URL có thể sử dụng được, có thể truy cập và thân thiện với SEO. Nó có thể được đánh dấu, chia sẻ và lưu trữ theo một số cách và nó sẽ không bao giờ thay đổi trong thời gian dài để tài nguyên được liên kết có thể được nhắm mục tiêu vĩnh viễn. Đây là lý do chúng tôi gọi chúng là permalinks

URL trong WordPress. Biến truy vấn và chuỗi truy vấn

Chúng tôi có thể yêu cầu WordPress truy xuất hầu hết mọi thứ từ cơ sở dữ liệu của trang web. Nói chung, bạn truy vấn các bài đăng trong một danh mục được chỉ định hoặc được gắn nhãn bằng thẻ chính xác hoặc được xuất bản trong một khoảng thời gian cụ thể. Khi người dùng gửi một URL, WordPress sẽ tự động xử lý yêu cầu và theo quy tắc phân cấp mẫu, hiển thị kết quả trong một trang hoặc trong một kho lưu trữ

Trong phần đầu tiên của bài đăng này, tôi sẽ chỉ cho bạn cách sử dụng các biến chuỗi truy vấn tích hợp và cách đăng ký các biến tùy chỉnh của riêng chúng tôi, chúng tôi sẽ hướng dẫn WordPress lấy các biến này từ URL và sử dụng chúng để truy vấn

Trong phần cuối của bài đăng này, tôi sẽ chỉ cho bạn các công cụ mà WordPress cung cấp cho chúng tôi để dịch các chuỗi truy vấn khó hiểu về mặt ngữ nghĩa này thành các liên kết cố định có ý nghĩa, có thể truy cập, sử dụng được và được tối ưu hóa cho SEO. Tôi cũng sẽ cung cấp cho bạn tổng quan về cấu trúc permalink mặc định và tùy chỉnh do WordPress cung cấp và cuối cùng chúng ta sẽ xây dựng các permalink đẹp tùy chỉnh bằng cách sử dụng Rewrite API

Vars truy vấn công khai và riêng tư

Các truy vấn vars là các khóa xác định bất kỳ truy vấn SQL nào mà WordPress chạy đối với cơ sở dữ liệu. Các biến này có hai loại chính, tùy thuộc vào cách chúng ta có thể sử dụng chúng. Các lọ truy vấn riêng tư chỉ có thể được đặt trong một tập lệnh, trong khi các lọ truy vấn công khai có thể được gửi tới WordPress bằng một chuỗi truy vấn

Bên cạnh các biến công khai và riêng tư, WordPress cho phép chúng tôi đăng ký các lọ truy vấn tùy chỉnh của riêng mình

Trong một URL, các biến truy vấn công khai là các khóa theo sau dấu chấm hỏi (chuỗi truy vấn) và hiển thị khi chúng tôi chưa bật Liên kết cố định đẹp trên trang quản trị Cài đặt → Liên kết cố định. URL sau đây là một ví dụ

thí dụ. com/?author_name=carlodaniele

author_name là một biến truy vấn công khai cho WordPress biết rằng người dùng đang tìm kiếm tất cả các bài đăng của người dùng đó carlodaniele. Chúng tôi có thể thêm một số lọ truy vấn công khai vào chuỗi truy vấn, như chúng tôi làm trong URL sau

thí dụ. com/?author_name=carlodaniele&tag=thanh công cụ

Bây giờ, WordPress sẽ nhận tất cả các bài đăng của carlodaniele và được gắn thẻ là toolbar. Và chúng ta có thể làm nhiều hơn nữa. Chuỗi truy vấn tiếp theo là sự kết hợp của loại bài đăng tùy chỉnh và cặp taxonomy-name=taxonomy-term

thí dụ. com/?post_type=food&food-family=greens

Không giống như các biến công khai, các biến truy vấn riêng tư chỉ có thể được sử dụng trong một tập lệnh. Vì lý do này, tôi sẽ không khám phá chúng trong bài đăng này (bạn có thể đọc thêm trong WordPress Codex). Ở đây, tôi chỉ đơn giản chỉ ra rằng URL sau sẽ không mang lại cho chúng ta kết quả như mong đợi

thí dụ. com/?author__in=2,4,6

Ở đây author__in là một biến truy vấn riêng tư và WordPress sẽ không hiển thị các bài đăng của các tác giả được chỉ định

Hầu hết, nhờ các lọ truy vấn công khai, chúng tôi không cần phải viết mã để quản lý yêu cầu của người dùng, chúng tôi chỉ cần tạo các chuỗi truy vấn phù hợp và WordPress sẽ thực hiện phần còn lại

Bây giờ, hãy xem danh sách các lọ công khai sau đây

Đang tải ý chính eb34d6c85bbf95f31839f7a98c1d0951

Chúng tôi có thể truy xuất các bài đăng theo loại, tác giả, danh mục, thẻ, phân loại, năm, tháng, ngày, v.v. Chúng tôi có một truy vấn var cho hầu hết mọi loại truy vấn. Tuy nhiên, điều còn thiếu ở đây là khả năng tạo truy vấn dựa trên các trường tùy chỉnh (chúng tôi gọi chúng là truy vấn meta). Trên thực tế, WordPress cung cấp các biến truy vấn meta_keymeta_value, nhưng chúng thuộc nhóm biến riêng tư, vì vậy chúng không có sẵn cho các yêu cầu URL và chỉ nên được sử dụng trong các tập lệnh. Vì vậy, làm cách nào chúng tôi có thể yêu cầu truy vấn meta từ chuỗi truy vấn URL?

Bước đầu tiên là đăng ký vars truy vấn mới

Vars truy vấn tùy chỉnh

Sau khi đăng ký, các biến này có thể diễn ra trong chuỗi truy vấn giống như bất kỳ biến truy vấn công khai nào khác. Hàm sau chỉ cho chúng ta cách thêm chúng vào danh sách

Đang tải ý chính b34dfcdb0300b70a8efa450a429c1347

Bộ lọc query_vars cho phép chúng tôi thêm, xóa hoặc chỉnh sửa các biến hiện có trước khi truy vấn chạy. Ở đây, chúng tôi vừa thêm hai biến tùy chỉnh và từ giờ trở đi, chúng tôi có thể nhận giá trị của chúng nhờ hàm get_query_var()

Đang tải ý chính 31e1b1c5e3d55bffbfb5bf8ef56c8a2a

Bây giờ, các giá trị var của truy vấn có sẵn để tạo truy vấn tùy chỉnh

Lớp WP_Query

Khi người dùng yêu cầu một tài nguyên cụ thể, có thể là một trang, kết quả tìm kiếm hoặc danh sách các bài đăng, WordPress sẽ khởi tạo một đối tượng author_name0 mới, có các phương thức cho phép chúng tôi thao tác truy vấn SQL thực trước khi thực thi.

Tôi sẽ cho rằng bạn đã quen thuộc với lớp author_name0. Nếu không, trước khi đọc qua bài đăng này, hãy dành thời gian xem Hướng dẫn chuyên sâu của chúng tôi để chinh phục WP_Query

Truy vấn trường tùy chỉnh (Meta)

Chúng tôi có một loạt các tham số cho phép chúng tôi đặt truy vấn trường tùy chỉnh, chẳng hạn như đối số author_name2, là một mảng đa chiều gồm các truy vấn meta đơn lẻ với các khóa sau

  • khóa (chuỗi) – khóa trường tùy chỉnh
  • giá trị (chuỗi. mảng) – giá trị trường tùy chỉnh
  • loại (chuỗi) – loại trường tùy chỉnh
  • so sánh (chuỗi) – toán tử so sánh

Ví dụ, chúng ta có thể đặt đối số author_name2 sau

Đang tải ý chính 9e23a51816cc03eba9db89d4a4ee8add

author_name4 là một phần tử tùy chọn thiết lập mối quan hệ logic giữa các truy vấn đơn lẻ (mặc định là author_name5)

Tài khoản WPMU DEV PRO

Các công cụ WP chuyên nghiệp tốt nhất của chúng tôi trong một gói

Nhập email của bạn

Bắt đầu dùng thử miễn phí

Dùng thử miễn phí trong 7 ngày

hoàn tiền trong 30 ngày

Bên ngoài Vòng lặp WordPress (tôi. e. trong tệp plugin), chúng ta có thể truyền mảng cho phương thức author_name6 của đối tượng author_name7 như sau

Đang tải ý chính ba0050977cd2b36a9daab9c045d89080

Phương thức author_name6 giữ hai đối số. tên biến truy vấn và giá trị của nó

Để tác động đến truy vấn, chúng tôi sẽ thay đổi nó sau khi tạo truy vấn, nhưng trước khi thực hiện truy vấn. Để hoàn thành nhiệm vụ này, chúng tôi sẽ nối một hàm gọi lại với hành động author_name9

Ví dụ sau đây cho thấy tất cả điều này hoạt động như thế nào

Đang tải ý chính 5e3da325e66c63733919edd5ecd8677c

Điều quan trọng cần lưu ý là đối tượng author_name7 được truyền cho hàm theo tham chiếu, không phải theo giá trị. Điều này có nghĩa là bất kỳ thay đổi nào đối với đối tượng author_name7 đều ảnh hưởng trực tiếp đến truy vấn ban đầu, không chỉ một phiên bản truy vấn. Do đó, một phương pháp hay là đảm bảo rằng chúng tôi chỉ chỉnh sửa truy vấn chính (carlodaniele2) và những thay đổi không ảnh hưởng đến truy vấn của quản trị viên (carlodaniele3). Khi cần, chúng ta có thể kiểm tra các điều kiện khác để đảm bảo chỉ thay đổi truy vấn chính trong các trang cụ thể (i. e. carlodaniele4)

Bây giờ, hãy tập hợp tất cả những gì chúng ta đã nói cho đến nay trong một ví dụ hoạt động

Liệt kê bài viết theo trường tùy chỉnh

Giả sử bạn muốn tạo danh mục sách bằng WordPress. Với mục tiêu này, bạn có thể đăng ký một loại bài đăng tùy chỉnh có tên là carlodaniele5, thêm một số trường tùy chỉnh, như author_name, carlodaniele7, carlodaniele8, v.v. Và giả sử bạn muốn cung cấp cho người dùng trang liên kết đến các trang lưu trữ trước ngày carlodaniele7

Bây giờ chúng ta biết phải làm gì. Trước tiên, chúng ta phải đăng ký một truy vấn var đặt tên là carlodaniele0

Đang tải ý chính 1cd370a7d74ac154b8ae63c9a452d56d

Lưu ý rằng biến truy vấn tùy chỉnh đã được đặt tên là carlodaniele0 chứ không phải carlodaniele2, đây là thuật ngữ dành riêng cho tác giả bài đăng (xem danh sách đầy đủ các thuật ngữ dành riêng trong Codex). Bây giờ WordPress đã biết về truy vấn var và chúng tôi có thể lấy giá trị của nó từ một URL nhờ hàm carlodaniele3

Bây giờ hãy xem xét hàm sau được nối với author_name9

Đang tải ý chính c1ed24c612ccb2f0977011c2193e1ca4

get_query_var() nhận giá trị của carlodaniele6. Nếu có, giá trị này được đẩy vào mảng carlodaniele7

Chúng tôi cũng đã đặt giá trị cho phần tử author_name4, chỉ trong trường hợp chúng tôi đặt nhiều hơn một truy vấn meta

Cuối cùng, phương thức author_name6 chuyển mảng tham số cho đối tượng author_name7, thay đổi truy vấn trước khi thực hiện

Bây giờ bạn có thể gửi một URL như sau

http. //thí dụ. com/?post_type=book&book-author=Rowling

Và bạn sẽ nhận được tất cả sách trong kho lưu trữ của mình với trường tùy chỉnh carlodaniele7 là Rowling

Với sự hiểu biết tốt về đối tượng author_name0 và các vars truy vấn, chúng ta có thể lấy bất cứ thứ gì từ cơ sở dữ liệu chỉ bằng cách gửi các URL thích hợp. Đã đến lúc viết lại các URL này thành các cấu trúc có thể sử dụng, truy cập và thân thiện với SEO

WordPress cung cấp ba cấu trúc permalink

  • Liên kết cố định xấu xí
  • Liên kết cố định đẹp
  • PATHINFO permalinks (chỉ mục. php xuất hiện trong URL)

Theo mặc định, WordPress sử dụng cấu trúc permalink xấu xí. (tôi. e. http. //thí dụ. com/?post_type=book hoặc http. //thí dụ. com/?p=123). Nhưng chúng tôi biết tầm quan trọng của một cấu trúc permalink đẹp (tôi. e. http. //thí dụ. com/book/harry-potter-and-the-chamber-of-secrets/), vì vậy hãy truy cập vào Cài đặt > trang quản trị Permalinks trong bản cài đặt của bạn và đặt cấu trúc yêu thích của bạn

Chúng tôi có thể kiểm tra một trong các tùy chọn có sẵn hoặc đặt cấu trúc tùy chỉnh nơi chúng tôi có thể cung cấp một hoặc nhiều thẻ cấu trúc. Các thẻ này là những từ khóa mà chúng tôi có thể thêm vào permalinks để cung cấp cho chúng một ý nghĩa cụ thể. Ví dụ, toolbar3 sẽ thông báo cho người dùng về năm xuất bản của một bài viết

WordPress cung cấp 10 thẻ cấu trúc mặc định, nhưng chúng tôi có thể thêm bất kỳ số lượng thẻ tùy chỉnh nào, một thẻ cho mỗi biến truy vấn tùy chỉnh mà chúng tôi đã đăng ký trước đó

Làm cách nào để thêm tham số url trong wordpress?
Với cấu trúc này được bật, tên bài đăng sẽ được đặt trước năm xuất bản

Như đã nói, nhiệm vụ cuối cùng của chúng ta là đăng ký một thẻ cấu trúc tùy chỉnh và hướng dẫn WordPress cách sử dụng nó

Thêm thẻ viết lại

Hãy nối hàm sau với hành động toolbar4

Đang tải ý chính 4c4ea491486ebaca8d9502b847549758

Hàm toolbar5, đăng ký thẻ cấu trúc mới. Hàm giữ ba đối số. tên thẻ, biểu thức chính quy để khớp với tên thẻ, truy vấn tùy chọn (không được đặt ở đây)

Bây giờ WordPress đã biết về thẻ. Chúng tôi chỉ cần đăng ký quy tắc viết lại cho WordPress biết cách sử dụng nó. Đây là mã

Đang tải ý chính f364d707472739bdf61b9ad7f0d61707

Hàm toolbar6 sẽ làm nên điều kỳ diệu ở đây

  • Đối số đầu tiên là một biểu thức chính quy để khớp với URL được yêu cầu;
  • Đối số thứ hai là URL để tìm nạp khi biểu thức chính quy được khớp;
  • Đối số cuối cùng là một chuỗi có giá trị có thể là toolbar7 hoặc toolbar8 (toolbar7 sẽ được ưu tiên hơn các quy tắc hiện có)

Lưu ý rằng khi chúng tôi đăng ký một loại bài đăng tùy chỉnh, chúng tôi phải gọi author__in0 khi kích hoạt plugin, nếu không các quy tắc viết lại mới sẽ không hoạt động (đọc thêm trong Codex)

Bây giờ một URL như sau

http. //thí dụ. com/?post_type=book&book-author=Tolkien

sẽ được viết lại trong permalink đẹp sau đây

http. //thí dụ. com/sách/tác giả sách/Tolkien/

Ghi chú. Luôn lưu cài đặt Permalink khi bạn thêm hoặc chỉnh sửa các thẻ và quy tắc viết lại, ngay cả khi bạn không thay đổi cấu trúc permalink, nếu không các thẻ và quy tắc sẽ không có hiệu lực

Plugin theo dõi truy vấn

Một công cụ tuyệt vời dành cho nhà phát triển để kiểm tra các lọ truy vấn là plugin miễn phí có tên Trình giám sát truy vấn. Plugin này hiển thị các quy tắc viết lại phù hợp và chuỗi truy vấn, truy vấn vars, truy vấn cơ sở dữ liệu, móc và nhiều hơn nữa. Nó chắc chắn đáng xem

Làm cách nào để thêm tham số url trong wordpress?
Query Monitor thêm một menu trong Thanh công cụ WordPress

kết thúc

Trong bài đăng này, chúng tôi đã xem xét cách truy vấn cơ sở dữ liệu WordPress, chuyển các giá trị từ chuỗi truy vấn URL bằng các biến truy vấn tùy chỉnh và công khai. Chúng tôi cũng đã khám phá các liên kết cố định tập trung vào các cấu trúc tùy chỉnh. Cuối cùng, chúng tôi đã thêm các thẻ và quy tắc viết lại mới, đồng thời xây dựng các URL thân thiện với người dùng và SEO

Tôi hy vọng bạn thấy hướng dẫn này hữu ích và giờ đây bạn có thể tùy chỉnh cấu trúc URL của riêng mình để phù hợp với nhu cầu của mình

Bạn đã xử lý permalinks trong WordPress chưa?

Thẻ
  • tùy biến
  • liên kết cố định

Chia sẻ bài viết này

Làm cách nào để thêm tham số url trong wordpress?
Pixel của DEV
Shareable, fun, & free WP comics.Check them out

Làm cách nào để thêm tham số url trong wordpress?

Xây dựng doanh nghiệp WordPress tốt hơn

Take a quick tour

Bắt đầu dùng thử miễn phí 7 ngày

Theo chúng tôi

Liên kết tới Facebook của WPMU DEV Liên kết tới Twitter của WPMU DEV Liên kết tới LinkedIn của WPMU DEV Liên kết tới WPMU

Bài viết liên quan và gần đây nhất

Tạo hộp meta bài đăng tùy chỉnh trong WordPress

Tạo nội dung tùy chỉnh trong WordPress. Loại bài đăng tùy chỉnh

Hướng dẫn chuyên sâu để chinh phục WP_Query

Cách chọn nhà cung cấp dịch vụ tên miền phù hợp

Các dự án liên quan

chim ruồi chuyên nghiệp

Mọi thứ bạn cần để…

hậu vệ chuyên nghiệp

Thường xuyên quét bảo mật, lỗ hổng…

Ảnh chụp chuyên nghiệp

Lập và lên lịch tăng dần…

Smush Pro

Sự lựa chọn của người dùng, đoạt giải thưởng, và…

Làm cách nào để thêm tham số url trong wordpress?

Nhận các bản cập nhật WP mới trực tiếp vào hộp thư đến của bạn.

Làm cách nào để thêm tham số url trong wordpress?

nhập địa chỉ email của bạn.

Đặt mua

Bằng cách nhấp vào đăng ký, tôi đồng ý nhận tin tức WP vui nhộn. P. S. Chúng tôi giữ email của bạn 100% riêng tư và không gửi thư rác. )

Các cách để truyền tham số trong URL là gì?

Để chuyển các giá trị tham số, chỉ cần nối chúng vào chuỗi truy vấn ở cuối URL cơ sở .

Tham số URL là gì?

Tham số URL là một cách để chuyển thông tin về một lần nhấp qua URL của nó . Bạn có thể chèn tham số URL vào URL của mình để URL của bạn theo dõi thông tin về một lần nhấp. Các tham số URL được tạo bằng một khóa và một giá trị được phân tách bằng dấu bằng (=) và được nối bằng dấu và (&).