- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Вроде бы простая вещь, но нифига не могу найти. Толковых примеров нет.
Если все в одном файле то все понятно и все работает:
А теперь, допустим, я хочу чтобы myplagin_options_page у меня была не в главном файле плагина, а в отдельном файле.
я делаю так:
add_options_page('Настройки плагина', 'Настройки плагина', 8, 'settings.php', 'myplagin_options_page');
Т.е у меня 2 файла. Основной файл
И settings.php в тойже папке, что и myplagin.php
Но нифига не пашет. Когда перехожу на страницу настроек плагина выдает Warning: call_user_func_array() expects parameter 1 to be a valid callback, function 'myplagin_options_page' not found or invalid function
Я по ходу неверно вызываю файл с настройками. Что помимо самой функции myplagin_options_page я должен воткнуть в settings.php?
Во всех примерах что я видел - всегда страница настроек в том же файле. А как в разных замутить?
Спасибо.
Вроде бы простая вещь, но нифига не могу найти. Толковых примеров нет.
А с чего вы решили, что 4й аргумент - это ссылка на файл?
Поиск "толковых примеров" начинайте с кодекса: http://codex.wordpress.org/Function_Reference/add_options_page
Можете чутка подробнее.
Даже в кодексе четвертый аргумент это файл my-plugin.php)
function my_plugin_menu() {
add_options_page('My Options', 'My Plugin', 'manage_options', 'my-plugin.php', 'my_plugin_page');
}
Можете конкретнее подсказать как сделать?
Можете чутка подробнее.
Даже в кодексе четвертый аргумент это файл my-plugin.php)
function my_plugin_menu() {
add_options_page('My Options', 'My Plugin', 'manage_options', 'my-plugin.php', 'my_plugin_page');
}
Какой же это файл?
Четко же написано:
my-plugin.php в данном случае - просто уникальный slug
Можете конкретнее подсказать как сделать?
Могу: см include() (а также require, include_once, require_once)
Вот за require_once спасибо!
Я вообще покопал в интернете, плюс готовые плагины пооткрывал include (не встречал, а require_once много где)
А еще вот какую прикольную штуку нарыл
источник тут http://blogcoding.ru/archives/anatomiya-plagina-wordpress-chast-3/
add_action('admin_menu', array(&$this, 'regAdminPage'));function regAdminPage() {
$menuPage = add_menu_page(__('Simple View Settings', 'simple-view'), __('Simple View', 'simple-view'), 8, 'simple-view-settings', array(&$this, 'svAdminPage'), WP_PLUGIN_URL.'/simple-view/images/sv-icon.png');
$svSubPage = add_submenu_page('simple-view-settings', __('Simple View Settings', 'simple-view'), __('Settings', 'simple-view'), 8, 'simple-view-settings', array(&$this, 'svAdminPage'));
add_action('admin_print_scripts-'.$svSubPage, array(&$this, 'adminHeaderPluginScripts'));
add_action('admin_print_styles-'.$svSubPage, array(&$this, 'addAdminHeaderPluginStyles'));
$fbUploadPage = add_submenu_page('simple-view-settings', __('FloatBox Uploading and Installation', 'simple-view'), __('FloatBox Installation', 'simple-view'), 8, 'floatbox-install', array(&$this, 'fbInstall'));
$fbSubPage = add_submenu_page('simple-view-settings', __('FloatBox Settings', 'simple-view'), __('FloatBox Settings', 'simple-view'), 8, 'floatbox-settings', array(&$this, 'fbAdminPage'));
add_action('admin_print_scripts-'.$fbSubPage, array(&$this, 'adminHeaderScripts'));
add_action('admin_print_styles-'.$fbSubPage, array(&$this, 'addAdminHeaderCSS'));
$svGalPage = add_submenu_page('simple-view-settings', __('Galleries', 'simple-view'), __('Galleries', 'simple-view'), 8, 'simple-view-galleries', array(&$this, 'svGalleries'));
add_action('admin_print_scripts-'.$svGalPage, array(&$this, 'adminListHeaderScripts'));
add_action('admin_print_styles-'.$svGalPage, array(&$this, 'adminListHeaderStyles'));
$svGalNewPage = add_submenu_page('simple-view-settings', __('Edit Gallery', 'simple-view'), __('New Gallery', 'simple-view'), 8, 'simple-view-edit-gallery', array(&$this, 'GalleryEdit'));
add_action('admin_print_scripts-'.$svGalNewPage, array(&$this, 'adminEditHeaderScripts'));
add_action('admin_print_styles-'.$svGalNewPage, array(&$this, 'adminEditHeaderStyles'));
}
Собственно еще один вопрос:
Есть ли у кого сводная табличка по файлам плагинов, наподобие той, что для шаблонов.
Ну к примеру, если у плагина есть файл uninstall.php, то удаление идет через него. И подключать нет нужды. Просто залили, прописал деинсталятор и все.
Подозреваю, что наверняка еще есть какие-то файлы, которые обрабатываются без подключения.
Или на этом все? uninstall.php единственный?
И еще, если в плагине есть папка includes, она как-нибудь самостоятельно обрабатывается (ее содержание) или входящие в нее файлы ручками нужно подключать? Спасибо.