WordPress:如何重定向到 404?

WordPress: how to redirect to 404?

我将此添加到我的 functions.php 文件中以禁用订阅者的 wp-admin 访问权限。现在它将订阅者重定向到首页,我想将用户重定向到浏览器的 stock 404。我可以将重定向更改为不存在的页面...

wp_redirect(home_url('/fakepage'));

...这会将用户带到浏览器的库存 404,但该不存在的页面将显示在 URL。

/**
 * Disable wp-admin access for subscribers
 */
function disable_dashboard() {
    if (!is_user_logged_in()) {
        return null;
    }
    if (!current_user_can('administrator') && is_admin()) {
        wp_redirect(home_url());
        exit;
    }
}
add_action('admin_init', 'disable_dashboard');

所以,要明确一点,您希望用户转到您的主页地址,但他们不会看到您的主页,而是会看到 404 消息?

哇,这听起来很奇怪,而且我敢肯定你不会真的想这样做,除非有一些非常令人信服的理由。这会让用户非常困惑。

为什么不直接将 404 页面的地址/别名设为描述性的内容,例如 /404 或 /not-found,然后就此结束?尝试重定向到主页并显示不同的内容可能需要一些愚蠢的 POST 变量,您需要在主页上检测这些变量并根据它更改模板显示。