2011-04-08 14 views
15

Geçenlerde WordPress eklentisi geliştirme girdi ve ben bir menü sayfası (sol taraftaki menüde bağlantılar) eklemek istiyorum.WordPress ve tanımlanmamış işlev add_menu_page çağır()

PHP Fatal error: Call to undefined function add_menu_page() 

Bu görünüyor: Ben işlevi tanımlanmamış o söyler dosya benim eklenti kurulumunda bu deneyin Ancak zaman

add_menu_page($page_title, $menu_title, $capability, $menu_slug, $function, $icon_url, $position); 

: Önceki SO soru ve WordPress kodeksi onu aramasını kadar basit olduğunu söylemek belgelere göre yapmak çok basit bir şey gibi ama tamamen şaşırdım. Herhangi bir yardım gerçekten

cevap

34

Ben kodunuzu nasıl göründüğünü bilmiyorum :) takdir ama bu sadece test nasıl ve işe yaradı olacaktır:

add_action('admin_menu', 'my_menu'); 

function my_menu() { 
    add_menu_page('My Page Title', 'My Menu Title', 'manage_options', 'my-page-slug', 'my_function'); 
} 

function my_function() { 
    echo 'Hello world!'; 
} 

buraya bir göz http://codex.wordpress.org/Administration_Menus

+1

sayesinde benim sorunum ben bir fonksiyonu haline çağrıyı koyarak değil olmasıydı. – Gazillion

+0

Başka birinin koduyla çalışmak zorunda kaldım ve üretim sunucusunda çalışıyordu, ancak geliştirme sunucumda çalışmıyordu. Add_action ('init', 'my_menu'); 'add_action ('admin_menu', 'my_menu');' ve her iki sunucuda da çalıştım, teşekkürler :) – GabLeRoux

5

Sen al Bu hata mesajını almak için ya add_menu_page işlevini herhangi bir kanca dışında kullandınız ya da çok erken bağladınız.

add_menu_page işlevi, kullanıcının menüye erişmek için gerekli yeteneğe sahip olup olmadığını belirlemek için üçüncü bir argüman olarak işlev görür, böylece işlev yalnızca kullanıcı kapasitesi dolduğunda kullanılabilir olur, bu nedenle admin_menu kancasında işlevi kullanmalısınız aşağıdaki gibi.

add_action('admin_menu', 'register_my_custom_menu_page'); 

function register_my_custom_menu_page(){ 
    add_menu_page( __('Custom Menu Title'), 'custom menu', 'manage_options', 'custom-page-slug', 'my_custom_menu_page'); 
} 

function my_custom_menu_page() { 
    echo __('This is custom menu page.'); 
} 

Bu konu hakkında bilgi için aşağıdaki WordPress kodeksine bakın.

http://codex.wordpress.org/Function_Reference/add_menu_page