Wordpress:如何在未经许可的情况下尝试访问网站时重定向

Wordpress: How to redirect when trying to access a site without permissions

我正在构建一个安装了 wordpress 4.8 和 bbPress 2.5.12 版的社区网站。我还安装了一个名为 Paid Memberships Pro 的插件(以及一个为 bbPress 制作的扩展)来处理我论坛中的权限。

我想添加的是重定向到我网站上的一个页面,这是在没有权限的人点击会员区时发生的。将打开的页面将讲述加入的好处。

Wordpress 本身和会员插件都只允许我插入一个显示的文本,以防有人没有权限试图进入会员区。此文本很小,没有包含足够的信息,我宁愿重定向到另一个页面。

我有两个问题。

首先我不确定我是否愿意在 wordpress 设置或插件设置中更改它。现在插件会覆盖 wordpress 的设置(这意味着如果我在 wordpress 和插件中有两个不同的文本,它会从插件中选择文本)。所以我可以在插件中更改它或者我在 wordpress 中更改它但必须同时告诉 wordpress 读取它自己的文件而不是插件目录中的文件(我会说在插件中更改它更有意义但我想要以确保)。

其次,我不知道如何更改此代码以使其真正进行重定向。我只是破坏了网站,否则什么也没有发生。

如果我转到 bbpress 文件夹中的文件 feedback-no-access.php,它包含以下代码:

<?php

/**
 * No Access Feedback Part
 *
 * @package bbPress
 * @subpackage Theme
 */

?>

<div id="forum-private" class="bbp-forum-content">
    <h1 class="entry-title"><?php _e( 'Private', 'bbpress' ); ?></h1>
    <div class="entry-content">
        <div class="bbp-template-notice info">
            <p><?php _e( 'You do not have permission to view this forum.', 
'bbpress' ); ?></p>
        </div>
    </div>
</div><!-- #forum-private -->

在成员插件中,我找到以下几行:

/**
 * Error Message Option
 */
function pmprobb_option_error_message() {
    $options = pmprobb_getOptions();    
    if(isset($options['error_message']))
        $error_message = $options['error_message'];
    else
        $error_message = "";    
    ?>
    <input id='pmprobb_option_error_message' name='pmprobb_option_error_message' size='40' type='text' value='<?php echo esc_attr($error_message);?>' />
    <small>This message is shown when users attempt to view a forum or thread they don't have access to.</small>
    <?php
}

我试图编辑这第二个代码块,这样它就不会搜索此消息,而是重定向到我想指向的 url。但没有任何结果,我希望有人能帮助我解决这个问题!谢谢

我可以在不更改代码的情况下自己解决它(这对我来说真的不可能,因为我没有足够的知识)。

我找到了一个名为重定向的插件,它工作得很好。每当我单击我无权访问的论坛时,它都会将我重定向到我希望它转到的页面。我不知道这是否是个好习惯,但效果非常好!