Làm cách nào để truy xuất các biến $ _GET từ các URL được viết lại?


7

Tôi cần nhận một số thông số $ _GET đặc biệt cho một trang tùy chỉnh Tôi đang tạo, tôi biết cách nhận thông số này thông qua $ _GET đơn giản như mysite.net/products/?id=1, nhưng tôi muốn sử dụng kiểu URL của WordPress của tôi như mysite.net/products/1.

Làm cách nào để truy xuất các biến $ _GET từ các URL được viết lại?


Tôi đã đóng nhầm bình chọn đây là một bản sao ...
Stephen Harris

Câu trả lời:


7

Để được thêm vào init:

Để đăng ký biến tùy chỉnh của bạn ('id' trong câu hỏi)

add_rewrite_tag('%mycustomvar%','([^&]+)');

Để tạo quy tắc viết lại:

add_rewrite_rule('^product/([0-9]{1,})/?','index.php?p=4&mycustomvar=$matches[1]','top')

4 là id của trang 'sản phẩm'. Bạn sẽ cần phải xóa các quy tắc viết lại một lần sau khi thêm các quy tắc này (đi đến trang cài đặt Permalink)

Bạn có thể nhận được giá trị của mycustomvar: get_query_var( 'mycustomvar' ).

Xem Codex cho:

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.