包括自定义php页面到wordpress而不是404错误

时间:2013-06-11 12:20:11

标签: php wordpress wordpress-theming

我无法添加自定义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_singleis_page或其他不具有错误的404页面。

我试过了:

global $wp_query;
$wp_query->is_404 = false; 

global $wp_query;
$wp_query->is_page = true; 

但两者都没有用,请帮忙!

3 个答案:

答案 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();?>