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_singleis_page或其他东西,而不是带有该错误的 404 页面。

我试过:

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

和:

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

但两者都不起作用,请帮助!

4

3 回答 3

7

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

于 2013-06-11T12:55:21.157 回答
0

看看这个链接: https ://gist.github.com/gyrus/3332597 。
我认为关键是你必须打电话status_header( '200' );才能让它工作。

这是另一个相关链接: http ://sltaylor.co.uk/blog/intercept-wordpress-404s/

于 2013-06-11T12:52:31.447 回答
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();?>
于 2017-11-30T15:52:29.983 回答