WordPress и вызов неопределенной функции add_menu_page ()

Недавно я попал в разработку плагина WordPress, и я хотел бы добавить страницу меню (ссылки в меню левой стороны). Предыдущие вопросы SO и WordPress codex говорят, что это так же просто, как позвонить:

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

Однако, когда я пытаюсь это сделать в своем установочном файле плагина, он сообщает мне, что функция не определена:

 PHP Fatal error: Call to undefined function add_menu_page() 

Это кажется очень простой вещью в соответствии с документацией, но я полностью озадачен. Любая помощь могла бы быть полезна 🙂

Я не знаю, как выглядит ваш код, но вот как я только что протестировал, и это сработало:

 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!'; } 

Взгляните сюда http://codex.wordpress.org/Administration_Menus

Вы получаете это сообщение об ошибке, потому что либо вы использовали функцию add_menu_page вне любого крючка, либо зацепили ее слишком рано.

Функция add_menu_page получает возможность в качестве третьего аргумента для определения того, имеет ли пользователь возможность доступа к меню, чтобы функция была доступна только при заполнении пользовательских возможностей, поэтому вы должны использовать эту функцию в hook_Admin, как показано ниже.

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

См. Следующую страницу WordPress codex для получения информации об этом.

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