Tôi có trang trước tĩnh cho cài đặt WP của tôi được đặt từ settings > reading
. Sau đó, tôi đã thêm một điểm cuối URL bằng cách sử dụng.
add_rewrite_endpoint('foo', EP_ALL);
Vì vậy, trang trước nên được truy cập thông qua
http://example.com/
http://example.com/foo
http://example.com/foo/bar
Đối với # 1 Mọi thứ đều hoạt động tốt nhưng đối với mặc định # 2 và # 3 home.php
được hiển thị thay vì trang chủ tĩnh. Đã thử nghiệm cục bộ trong cả cài đặt đơn và đa trang.
Đó là một hành vi mong muốn hoặc tôi đánh một cái gì đó bất thường? Quan trọng hơn là làm cách nào tôi có thể tạo WP để hiển thị trang chủ tĩnh trong điều kiện đã cho?
Giải pháp
Tôi đã nối vào parse_request
để xử lý một phần mã nếu foo
tồn tại. vì vậy, theo giải pháp của @ gmazzap. Tôi chỉ cần bỏ đặt nó sau đó. Không cần thêm chức năng hooked để vượt qua lỗi.
add_action('parse_request', function(&wp){
$key = 'foo';
if (!array_key_exists( $key, $wp->query_vars ) ) {
return;
}
// do things when foo exists
// we no longer need 'foo'
unset($wp->query_vars[$key]);
});