将自定义的php页面包含到WordPress中,避免出现404错误。

3

我遇到了一些问题,想添加一个自定义的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; 

但是两者都没有起作用,请帮忙!
3个回答

7
你应该使用wp-load.php,而不是wp-blog-header.php。因为wp-blog-header.php的使用仅限于WordPress文件,而不是外部文件。

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

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接