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('user_admin_menu', 'ang_profile_actions');

マルチサイトを使用している場合にのみ起動し、.../wp-admin/user にアクセスした場合にのみ起動するため、機能しません。.../wp-admin/user/admin.php の中を見てみましょう。「user_admin_menu」アクションを起動するには、true である必要がある定数 WP_USER_ADMIN の定義があります。シングル サイト モードを使用して .../wp-admin/user にアクセスしようとすると、 admin_url() にリダイレクトされます。そこでは .../wp-admin/user/admin.php が含まれていないため、一定です。 WP_USER_ADMIN が定義されておらず、アクション 'user_admin_menu' が起動しません。

于 2014-08-12T05:23:54.733 に答える
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にある任意の機能に read を変更できます。

また、nb_display_page は、ページのコンテンツを表示するために使用する関数です。

于 2013-09-03T01:45:32.660 に答える