WordPress и вызов функции undefined add_menu_page()
Недавно я попал в разработку плагина WordPress, и я хотел бы добавить страницу меню (ссылки в меню левой стороны). Предыдущие вопросы SO и WordPress codex говорят, что это просто, как вызов:
add_menu_page( $page_title, $menu_title, $capability, $menu_slug, $function, $icon_url, $position );
Однако, когда я пытаюсь это сделать в своем установочном файле плагина, он говорит мне, что функция undefined:
PHP Fatal error: Call to undefined function add_menu_page()
Это кажется очень простой вещью в соответствии с документацией, но я полностью озадачен. Любая помощь будет действительно оценена:)
Ответы
Ответ 1
Я не знаю, как выглядит ваш код, но я просто тестировал его и работал:
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
Ответ 2
Вы получаете это сообщение об ошибке, потому что либо вы использовали функцию add_menu_page вне любого крючка, либо зацепили ее слишком рано.
Функция add_menu_page получает возможность в качестве третьего аргумента, чтобы определить, имеет ли пользователь возможность доступа к меню, чтобы функция была доступна только при заполнении пользовательских возможностей, поэтому вы должны использовать эту функцию в hook_ adminu как Следующий.
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.
http://codex.wordpress.org/Function_Reference/add_menu_page