删除所有提要并返回自定义404页面

时间:2020-05-18 作者:gcdec

你好,我在一篇旧帖子上找到了下面的代码。我已经使用ftp打开并创建了一个名为“我的第一个插件”的新插件文件夹,并在插件文件夹中创建了它-我已经打开了我的第一个插件文件夹并创建了一个名为“我的第一个插件”的新文件。php并将下面的代码添加到其中-刷新ftp并结束会话-进入我的wordpress站点上的插件并激活新创建的插件,然后搜索我的站点/提要-但它仍然显示提要,而不是我的自定义404页面。任何人都可以帮我纠正这一点,请让所有饲料返回我的自定义404页。非常感谢您的帮助。非常感谢

/**
 * Plugin Name: T5 404 Feed
 * Description: Sends a 404 status code for all feeds and loads the <code>404.php</code> template.
 */

add_action( \'template_redirect\', \'t5_404_feed\', 1 );
function t5_404_feed()
{
    if ( is_feed() )
    {
        status_header( \'404\' );
        locate_template( array ( \'404.php\', \'index.php \' ), TRUE, TRUE );
        exit;
    }
}

1 个回复
最合适的回答,由SO网友:Ted Stresen-Reuter 整理而成

插件文件应完全由以下代码组成:

<?php
/**
 * Plugin Name: T5 404 Feed
 * Description: Sends a 404 status code for all feeds and loads the <code>404.php</code> template.
 */

add_action( \'template_redirect\', \'t5_404_feed\', 1 );
function t5_404_feed()
{
    if ( is_feed() )
    {
        status_header( \'404\' );
        header(\'Content-Type: text/html\', true);
        locate_template( array ( \'404.php\', \'index.php\' ), TRUE, TRUE );
        exit;
    }
}
没有header() 功能,该页面将作为RSS提要(内容类型为application/rss+xml) 您需要以HTML(内容类型text/html).

如果安装/激活时出现错误,则可能是其他原因造成干扰。我尝试将此代码作为主题修改,效果很好。我还没有尝试将其作为插件。通常会出现php\\u错误。将文件记录在服务器上的某个位置,在该位置可以看到正在发生的确切错误。如果你找到了,请把它贴在这里。

HTH公司