0

これは簡単なことだと思っていましたが、何時間も経ちましたが、まだ結果はありません.

ユーザーが管理者である場合にのみダッシュボードに表示される Wordpress プラグインを作成しています。フックを is_admin() メソッドでラップしましたが、サブスクライバーであるユーザーとしてログインすると、まだメニューが表示されます。

簡単すぎない???

プラグインを登録するためにコメントセクションのすぐ下から開始する以外のコードを次に示します...表示されていないものはすべて、機能する関数だけです...

if( is_admin ){ 

add_action('admin_menu', 'ppm_talentexpo_add_page');
add_action('admin_menu', 'ppm_expos_submenu');

} // end is_admin

function ppm_talentexpo_add_page() {
    $mypage = add_menu_page('Talent Expo', 'Talent Expos', 2, 'ppmtalentexpo', 'jwg_talentexpo_options_main_page', '/wp-admin/images/media-button-music.gif' , 21);
    add_action( "admin_print_scripts-$mypage", 'jwg_ppmtalentexpo_admin_head' );
} // end function
4

1 に答える 1

1

条件付きでis_adminを呼び出すときに、括弧を省略したようです。
試す

if( is_admin() ){
    add_action('admin_menu', 'ppm_talentexpo_add_page');
    add_action('admin_menu', 'ppm_expos_submenu');
}


また、古いWordPressインストールを使用していない場合はadd_menu_page、WordPressがチェックする機能を指定できます。これにより、WordPressでアイテムの表示を管理できるようになります。
したがって、カスタム機能を定義する(または既存の機能を再利用する)ことができ、メニューがそれ自体を処理する必要があります。

add_action('admin_menu', 'ppm_talentexpo_add_page');
add_action('admin_menu', 'ppm_expos_submenu');

function ppm_talentexpo_add_page() {
    $mypage = add_menu_page('Talent Expo', 'Talent Expos', 'my_custom_talent_expos_capability', 'ppmtalentexpo', 'jwg_talentexpo_options_main_page', '/wp-admin/images/media-button-music.gif' , 21);
    add_action( "admin_print_scripts-$mypage", 'jwg_ppmtalentexpo_admin_head' );
}
于 2012-09-22T14:26:22.473 に答える