Nếu bạn muốn tạo tệp .php của riêng mình và tương tác với WordPress mà không cần tiêu đề 404 và giữ cấu trúc permalink hiện tại của bạn thì không cần phải có tệp mẫu cho một trang đó.
Tôi thấy rằng phương pháp này hoạt động tốt nhất, trong tệp .php của bạn:
<?php
require_once(dirname(__FILE__) . '/wp-config.php');
$wp->init();
$wp->parse_request();
$wp->query_posts();
$wp->register_globals();
$wp->send_headers();
// Your WordPress functions here...
echo site_url();
?>
Sau đó, bạn có thể chỉ cần thực hiện bất kỳ chức năng WordPress sau này. Ngoài ra, điều này giả định rằng tệp .php của bạn nằm trong thư mục gốc của trang web WordPress nơi đặt wp-config.php
tệp của bạn .
Đối với tôi, đây là một khám phá vô giá vì tôi đã sử dụng require_once(dirname(__FILE__) . '/wp-blog-header.php');
lâu nhất vì WordPress thậm chí còn nói với bạn rằng đây là cách tiếp cận mà bạn nên sử dụng để tích hợp các chức năng của WordPress, ngoại trừ, nó gây ra tiêu đề 404, điều kỳ lạ mà họ muốn bạn sử dụng phương pháp này. Tích hợp WordPress với trang web của bạn
Tôi biết nhiều người đã trả lời câu hỏi này và nó đã có câu trả lời được chấp nhận, nhưng đây là một cách tiếp cận hay cho tệp .php trong thư mục gốc của trang web WordPress của bạn (hoặc về mặt kỹ thuật ở bất cứ đâu bạn muốn trong trang web của mình), mà bạn có thể duyệt đến và tải mà không cần tiêu đề 404!
Cập nhật: Có một cách để sử dụng
wp-blog-header.php
mà không cần tiêu đề 404, nhưng điều này yêu cầu bạn thêm vào các tiêu đề theo cách thủ công. Một cái gì đó như thế này sẽ hoạt động trong thư mục gốc của bản cài đặt WordPress của bạn:
<?php
require_once(dirname(__FILE__) . '/wp-blog-header.php');
header("HTTP/1.1 200 OK");
header("Status: 200 All rosy");
// Your WordPress functions here...
echo site_url();
?>
Chỉ cần cập nhật tất cả cho bạn về điều này, một ít mã cần thiết cho phương pháp này, nhưng tùy thuộc vào bạn sử dụng cái nào.