为管理员禁用插件

时间:2018-08-23 作者:leandroprz

我需要为管理员禁用特定插件。

我找到了这段代码,应该可以做到这一点,但它对我不起作用。我真的不太了解PHP,所以我不知道如何修复它。

add_filter( \'option_active_plugins\', \'disable_logged_in_plugin\' );

function disable_logged_in_plugin( $plugins ) {

    // The \'option_active_plugins\' hook occurs before any user information get generated,
    // so we need to require this file early to be able to check for logged in status
    require (ABSPATH . WPINC . \'/pluggable.php\');

    if ( current_user_can(\'administrator\') ) {

        // Use the plugin folder and main file name here.
        // is used here as an example
           $plugins_not_needed = array ( \'no-right-click-images-plugin/no-right-click-images-plugin.php\' );
            foreach ( $plugins_not_needed as $plugin ) {
                $key = array_search( $plugin, $plugins );
                if ( false !== $key ) {
                    unset( $plugins[ $key ] );
                }
            }
        }

        return $plugins;
    }
按照Castiblanco的要求,下面是我的主题的功能。pastebin中的php:https://pastebin.com/qZwSzmgh

“code”和“pre”在这里不能正常工作。

1 个回复
SO网友:Castiblanco

我刚刚测试了你的代码,它运行正常,所以它似乎是以下两件事之一。

您将代码放错了位置,请确保将代码放在functions.php 主题的文件。或者可能是functions.php 您的主题文件有问题,在这种情况下,您可以通过发布其内容编辑您的问题与我们共享。

看起来不错,请这样做:

打开您的wp-config.php 并添加以下行:

define( \'WP_DEBUG\', true );
define( \'WP_DEBUG_LOG\', true );
define( \'WP_DEBUG_DISPLAY\', true );
之后让我知道它显示了什么。

结束

相关推荐

使用admin-post将表单数据提交到外部数据库

我正在WordPress中创建一个自定义表单来存储数据并将其发送到外部数据库。作为测试的一部分,我成功地创建了一个表单,通过单击submit按钮将表单引用回自身,将表单数据提交到外部数据库。我现在想利用WordPress管理帖子功能,而不是让表单引用回自身。我已经正确设置了操作挂钩,因为在提交表单后,我会使用以下方式显示$\\u POST变量:<form action=\"<?php echo esc_url( admin_url( \'admin-post.php\' ) ); ?>\