2012-09-22 236 views
0

我認爲這將是一件容易的事情,但很多時間都用,仍然沒有結果了。制約WordPress管理選項管理員

我的插件,創建一個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 

回答

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管理員顯示或不顯示項目。
所以,你可以自定義一個capabilty(或重用現有的),菜單應該自己照顧自己。

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'); 
} 
+0

謝謝,賈裏德。我忘了這是一種方法。我做了改變。但它並沒有解決我的問題,因爲我正在使用自定義角色,WP正在忽略它們。我去Google找到另一個解決方案。對於其他人,Jared的解決方案確實會取消訂戶,作者和編輯的訪問權限。 – jgravois