包括自定义php页面到wordpress,不会出现404错误

我在添加自定义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();?>

来源:

https://www.srcmini02.com/65510.html

微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?