我在添加自定义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;
但两者均无效, 请帮助!
#1
你应该使用wp-load.php, 而不是wp-blog-header.php。因为wp-blog-header.php si仅用于wordpress文件, 而不能用于外部文件。
#2
看一下此链接:https://gist.github.com/gyrus/3332597。
我认为关键是你必须调用status_header(‘200’);为了使它工作。
这是另一个相关的链接:http://sltaylor.co.uk/blog/intercept-wordpress-404s/
#3
我也有这个问题, 但是以下内容在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();?>
评论前必须登录!
注册