Одной из возможных причин этой ошибки является фактическая регистрация меню администратора на хуке действия admin_init
вместо admin_menu
.Здесь дело обстоит не так, но полезно поделиться этой информацией, поскольку мне потребовались часы, чтобы выяснить это.
Поэтому всегда регистрируйте свои меню как это (и удаляйте пробелы или любые другие не алфавитно-цифровые символы изуникальный слаг - параметр 4th функции add_options_page()
):
Сначала
add_action('admin_menu', 'your_function');
, а затем (сначала проверьте, существует ли функция)
if (!function_exists('your_function')) {
function your_function() {
add_options_page(__("Option page name","your-text-domain"), __("Option page name","your-text-domain"), 'manage_options', 'your-page-unique-slug', 'other_function');
}
}
Обратите внимание на использование функции __()
вместо непосредственного размещения заголовков - это необходимо для интернационализации вашего плагина (и он отображает цитируемый текст, если нет файлов интернационализации).