如何连接到订阅者/wp-admin/index.php页面?

时间:2017-11-20 作者:BlueDogRanch

我想连接到订阅服务器角色索引。php页面(wp admin/index.php),用于在小部件之外添加一些自定义内容。

此admin\\u init适用于所有管理页面:

add_action( \'init\', \'test_init\');
function test_init(){
    add_action( \'admin_init\', \'test_admin_init\');
}

function test_admin_init() {
    echo "Test Admin Init";
}
但这并不仅仅适用于订阅者:

add_action(\'admin_init\', \'add_to_dashboard\');

function add_to_dashboard() {
    if (current_user_can(\'subscriber\') && is_admin()) {
            add_action( \'admin_init\', \'test_admin_init\');
    }
}

function test_admin_init() {
    echo "Test Admin Init";
}
对于仅用于索引的订阅者,这将如何工作。php而非配置文件。php?

将自定义内容添加到订阅服务器的管理索引是否是错误的方法。php页面?

2 个回复
SO网友:WebElaine

WP的所有内置角色都具有订阅服务器功能。您基本上是在这里检查,“如果当前用户至少具有订户功能”。如果只想隔离订阅者,可以检查是否缺少更高的功能。如果您只是使用内置角色,那么下一个更高级别的参与者角色edit_postsdelete_posts 默认情况下的功能。

if(!current_user_can(\'edit_posts\')) {
    // display your message
}
就以这种方式添加内容而言,admin_init 是一个很早的挂钩,因此根据您的内容和样式,它可能会导致一些布局怪癖。您提到您不想使用仪表板小部件,因此您可能希望查看其他挂钩,或者添加订阅者可以使用自定义内容查看的选项页面。

SO网友:Nathan Johnson

第二个代码块不起作用的原因是您试图向admin_init 以默认优先级钩住admin_init 挂接默认优先级,但已触发默认优先级(10)。如果您想在admin_init 您可以这样做:

add_action( \'admin_init\', \'add_to_dashboard\', 0 );
function add_to_dashboard() {
  if( current_user_can( \'subscriber\' ) ) {
    add_action( \'admin_init\', \'test_admin_init\' );
  }
}

function test_admin_init() {
  echo "Test Admin Init";
}
尽管如此,这也会起作用:

add_action( \'admin_init\', \'add_to_dashboard\' );
function add_to_dashboard() {
  if( current_user_can( \'subscriber\' ) ) {
    echo "Test Admin Init";
  }
}
尽管如此,我不喜欢通过使用current_user_can() 它确实有效。

对于仅用于索引的订阅者,这将如何工作。php而非配置文件。php?

如果您希望只在索引上运行某些内容。php,您可以检查$pagenow全局,或者使用load-index.php

将自定义内容添加到订阅服务器的管理索引是否是错误的方法。php页面?

我不知道。您没有提供足够的信息来说明要添加的内容以及小部件无法工作的原因。

结束

相关推荐

如何在WordPress网站上运行非WordPress PHP程序?

我有一个类似的问题this one: 我创建了一个小PHP程序,我想将其作为rest web服务调用,以从自定义MySQL表返回一些数据。我可以把它放在任何地方,但我尝试了根文件夹(public\\u html),一个我创建的名为custom的文件夹,以及cgi-bin文件夹。对于前两个,我得到404找不到。对于CGI-BIN,它看起来像是重定向到我的主页。我已将CHMOD设置为755(以及自定义文件夹)。我的htaccess如下所示。我想也许需要改变一下?# BEGIN WordPress &l