自定义插件设置页与选项卡。错误:“对不起,您不能访问此页面。”

时间:2019-08-13 作者:marccaps

我有下面的代码来显示每个选项卡的不同设置。显示的内容取决于url参数action. 当我尝试选择选项卡时,wordpress会给我一个Sorry, you are not allowed to access this page. 错误请参阅下面的代码。

function minutes_settings_content() {
    ?>
    <div class="wrap">

        <div id="icon-themes" class="icon32"></div>
        <h2>Email & SMS Settings</h2>
        <?php settings_errors(); ?>

        <?php $active_tab = isset( $_GET[ \'action\' ] ) ? $_GET[ \'action\' ] : \'email_sms_options\'; ?>

        <h2 class="nav-tab-wrapper">
            <a href="<?php echo esc_url( add_query_arg( array( \'action\' => \'email_sms_options\' ), admin_url( \'edit.php?post_type=wellbeing-minutes&page=minutes-email-settings\' ) ) ); ?>" class="nav-tab">Email & SMS</a>
            <a href="<?php echo esc_url( add_query_arg( array( \'action\' => \'testing_mode_options\' ), admin_url( \'edit.php?post_type=wellbeing-minutes&page=minutes-email-settings\' ) ) ); ?>" class="nav-tab">Testing Mode</a>
        </h2>

        <form action=\'options.php\' method=\'post\'>

            <?php
            if ( $active_tab == \'email_sms_options\' ) {
                settings_fields( \'EmailSmsMinute\' );
                do_settings_sections( \'EmailSmsMinute\' );
            }
            elseif ( $active_tab == \'testing_mode_options\' ) {
                settings_fields( \'wb_minute_testing_mode\' );
                do_settings_sections( \'wb_minute_testing_mode\' );
            }

            submit_button();
            ?>

        </form>
    </div>

    <?php
}

1 个回复
SO网友:Peter Wooster

我发现在使用设置API开发时,出现此错误的原因有两个:

如果您没有在“admin\\u menu”挂钩下运行,则会发生其他错误,请检查错误日志这两种情况都源于当前用户当时不可用。

相关推荐

Testing Plugins for Multisite

我最近发布了一个WordPress插件,它在单个站点上非常有效。我被告知该插件在多站点安装上不能正常工作,我理解其中的一些原因。我已经更新了代码,现在需要一种方法来测试更新后的代码,然后才能转到实时客户的多站点安装。我有一个用于测试的WordPress安装程序的单站点安装,但需要在多站点安装上进行测试。根据我所能找到的唯一方法是在网络上至少有两个站点来安装整个多站点安装,以测试我的插件。设置WordPress的整个多站点安装是插件开发人员的唯一/首选方式,还是有更快的测试环境可用。