Intereting Posts
Отключение всплывающей подсказки по пунктам меню Как получить текущий пользовательский тип сообщения Связанный термин таксономии Несколько циклов на странице результатов поиска? Как выполнить пользовательский цикл до содержимого цикла? Разрешить пользователю загружать файл, если на экране редактирования профиля Использование «Добавить с сервера» для загрузки по идентификатору сообщения Плагин WP-PageNavi не работает с несколькими страницами результатов поиска Автоматизация ежедневного блога изображений? Как удалить изображения заголовков из отображения (а не css или редактирования)? Формат поля X-профиля Buddypress изменен Текущий класс элемента меню Добавление ссылки «Показать меньше / больше» на «Пользовательская почта» Как получить название настраиваемого поля? Предупреждение. Недействительный аргумент, предоставленный foreach (). при создании WP_query Модуль электронного обучения

Форма и база данных, разработка плагинов

Я разрабатываю свой первый плагин. Он создает каталоги и сохраняет путь, уровень (если он является подкаталогом другого созданного каталога) и имя в пользовательской таблице, созданной при активации.

Плагин имеет страницу параметров, где пользователи могут управлять файлами в каждом каталоге или создавать больше каталогов и загружать больше файлов. На этой странице параметров мне пришлось создать форму с атрибутом действия как <?php echo EASYDM_PLUGIN_URL; ?>generate-dir.php <?php echo EASYDM_PLUGIN_URL; ?>generate-dir.php .

Проблема в том, что когда я пытаюсь использовать константы, такие как WP_CONTENT_URL , ABSPATH wordpress говорит мне, что они являются неопределенными константами … только на этой странице атрибута действия. Зачем?

Я попробовал add_action( 'admin_init', 'easydm_register_settings' ); с register_setting( 'pluginPage', 'easydm_settings' ); и т. д., но когда я нажимаю кнопку отправки, страница перенаправляет меня в файл.php в действии, но как wp-admin / file.php . Итак, ни первый, ни второй способ не работают на меня. Как я могу это сделать?

Вместо этого отправьте форму обратно на ту же самую страницу администратора, с которой вы начинаете (в основном используя form action='' ), затем обнаружите отправку формы на этой странице (например, if (isset($_POST['createdir'])) , а затем включить файл, который будет фактически обрабатывать запрос (например, include(EASYDM_PLUGIN_URL.'generate-dir.php'); )