0

我正在尝试将菜单项添加到我的用户管理菜单。

这是我正在使用的代码:(我已经把它放在我的functions.php脚本中)

add_action('user_admin_menu', 'ang_profile_actions');

function ang_profile_actions() { 
    add_users_page( 'test menu', 'test menu', 'exists', 'test_menu', 'ang_parse_profile_menu');
}

但是,似乎“user_admin_menu”没有触发。我通过在函数 ang_profile_actions 中添加一个 exit() 来测试这一点,并且页面加载时不会停止。

这个设置对吗?我什至使用正确的钩子。有这么多,有时很难说清楚。

我只想在用户访问“wp-admin/profile.php”页面时在用户个人资料页面中添加菜单项。

4

2 回答 2

0

这就是我需要这样做时使用的:

add_action('admin_menu', 'nb_users_submenu');

function nb_users_submenu() {
add_users_page('Page Title', 'Menu Title', 'read', 'page-slug', 'nb_display_page');
}

您可以将读取更改为在以下位置找到的任何功能: http: //codex.wordpress.org/Roles_and_Capabilities

另请注意,nb_display_page 是我用于显示页面内容的函数。

于 2013-09-03T01:45:32.660 回答
0
add_action('user_admin_menu', 'ang_profile_actions');

不起作用,因为它仅在使用多站点时触发,并且仅在访问 .../wp-admin/user 时触发。看看里面 .../wp-admin/user/admin.php 有常量 WP_USER_ADMIN 的定义,它是触发'user_admin_menu'动作所必需的。如果您尝试使用单站点模式访问 .../wp-admin/user ,您将被重定向到 admin_url() 其中 .../wp-admin/user/admin.php 没有被包括在内所以恒定未定义 WP_USER_ADMIN 并且操作“user_admin_menu”不会触发。

于 2014-08-12T05:23:54.733 回答