为所有用户类型启用查询监视器插件 - 无管理员

时间:2018-06-02 08:00:30

标签: wordpress

尝试为特定用户类型找到一些WordPress Hook(无管理员用户类型 - 自定义用户类型附带主题)来开发一些功能; 我启用了Query Monitor Plugin

我只能看到Query Monitor for Admin(s)。

我的问题是如何为特定的所有用户类型启用查询监视器。

我用Google搜索但似乎无法找到一些提示。

我对任何替代插件都持开放态度。

正在搜索我的问题reached this link

但看起来很复杂;是否有任何过滤器或动作来达到目标​​?

这段代码看起来很有希望:Line 81

function qm_debug_bar_being_activated() {
    // @codingStandardsIgnoreStart
    if ( ! is_admin() ) {
        return false;
    }

更新

  • 为所有网站用户启用工具栏...仅查询监控菜单 显示为无管理员。
  • 网站仍在进行展示,因此可以向所有用户展示。

更新2: 它不一定是这个插件......任何替代插件都可以。

3 个答案:

答案 0 :(得分:1)

Line 85: query-monitor/dispatchers/Html.php

从文件中删除以下代码,您将找到我们需要删除此代码的三个位置。

    if ( ! $this->user_can_view() ) { 
        return;
    }

在同一个文件中,您将找到以下代码,这些代码也需要从文件中删除。

  if ( is_admin() ) {
        if ( ! did_action( 'admin_init' ) ) {
            return false;
        }
    } else {
        if ( ! ( did_action( 'wp' ) || did_action( 'login_init' ) || did_action( 'gp_head' ) ) ) {
            return false;
        }
    }

此代码位于函数is_active()。

通常,这不是更改插件核心文件的首选方法,但是有文件管理器或操作来实现您的要求,因为只有他的方式是更好的方式。

答案 1 :(得分:1)

要为每种类型的用户启用查询监视器,您需要提供view_query_monitor功能。

下面的代码为所有用户启用查询监控,即使是未登录的用户

add_action( 'init', function() {

    $current_user = wp_get_current_user();
    $current_user->add_cap( 'view_query_monitor' );

} );

答案 2 :(得分:0)

默认情况下,Query Monitor的输出仅在单站点安装中显示给管理员,在多站点安装中显示给超级管理员。

除此之外,您还可以设置身份验证cookie,该身份验证cookie使您可以在未登录时或以通常无法查看Query Monitor输出的用户身份登录时查看Query Monitor的输出。有关详细信息,请参见“设置”面板。

Settings panel > set authentication cookie

现在您访问所有用户的查询监视器。 停用该清晰的身份验证Cookie clear authentication cookie

read more