我无法添加自定义php页面以获得wp样式(页眉和页脚),但我成功了,但问题是它显示为404错误而不是200次成功。
标题是这样的:
<?php
include $_SERVER['DOCUMENT_ROOT']."/wp-blog-header.php";
include $_SERVER['DOCUMENT_ROOT']."/wp-content/themes/theme_name/header.php";
?>
并且我需要将此页面设为is_single
或is_page
或其他不具有错误的404页面。
我试过了:
global $wp_query;
$wp_query->is_404 = false;
和
global $wp_query;
$wp_query->is_page = true;
但两者都没有用,请帮忙!
答案 0 :(得分:7)
您应该使用wp-load.php
,而不是wp-blog-header.php
。因为wp-blog-header.php的使用仅适用于wordpress文件而不是副文件。
答案 1 :(得分:0)
看一下这个链接:
https://gist.github.com/gyrus/3332597。
我认为关键是你必须致电status_header( '200' );
才能让它发挥作用。
以下是另一个相关链接:http://sltaylor.co.uk/blog/intercept-wordpress-404s/
答案 2 :(得分:0)
我也有这个问题,但以下在Wordpress 4.7中对我来说效果很好
<?php
define('WP_USE_THEMES', false);
if ( !isset($wp_did_header) ) {
$wp_did_header = true;
require( $_SERVER['DOCUMENT_ROOT'].'/wp-load.php' );
wp();
//$wp_query->is_page = true;
global $wp_query;
$wp_query->is_404 = false;
//require_once( ABSPATH . WPINC . '/template-loader.php' );
}
get_header();
?>
<?php get_footer();?>