Wordpress插件处理页面未找到404

时间:2011-10-19 16:36:54

标签: php wordpress plugins

我正在做一个Wordpress插件,通过另一个系统处理所有404页面未找到的页面。

我现在遇到一些问题:

  • 要在Wordpress中显示其他系统的内容,我正在使用''template_include''过滤器,这似乎并不明智。
  • 当外部系统找到该请求的内容时,我无法将页面的状态代码从404更改为200.

任何帮助都将受到高度赞赏,主要是改变Wordpress的状态代码输出。

1 个答案:

答案 0 :(得分:3)

这将帮助您将页面的HTTP状态代码从404更改为200:

<?php

function other_system_status_code() {
    if (is_404()) {
        status_header('200');
    }
}

add_action('template_redirect', 'other_system_status_code');

然后你可以在404.php模板中显示WordPress中其他系统的内容。

除状态代码外,您可能还想更改页面标题。即使您更改状态代码,它也会打印“找不到页面”。但是一个简单的过滤器可以帮助你:

<?php

function other_system_page_title() {
    return 'Custom Page Title';
}

add_filter('wp_title', 'other_system_page_title', 100);