помогите вставить опцию в плагин
-
есть некий плагин, с минимум опций. опции в нем сохраняются средствами WP так:
... <form method="post" enctype="multipart/form-data" action="options.php"> ... <?php settings_fields($plugin_option); do_settings_sections($plugin_page); ?> <input type="submit" class="button-primary" name = "ButSave" id = "iButSave" value="<?php echo __('Save',$plugin_option); ?>" > /form> ... functions My() { ... некие действия ...}; ....
Нужно: вставить (в перспективе заменить) кнопу Save на свою, которая бы перед сохранением настроек выполняла бы мою функцию My. (Просьба не предлагать сделать свою опцию одной из опций плагина, интересен другой момент).
Почитав про action понимаю, что любая кнопа, добавленная с type=»submit» в этой форме функцию My() не выполнит, так?
сначала добавил свою форму перед формой сохранения, кнопу в ней и реакцию на нее:
... <?php if(@$_POST['MySave']) {My(); } ?> <br/><br/> <form method="post"> <input type = "submit" class="button-primary" name = "MySave" id = "iMySave" ?>" value = "<?php echo __('MySave',$v_gusoft_plugin_option) ?>">> <input type="checkbox" name="MyCh" id="iMyCh" value="My" checked="checked"> MyCheckbox </form> ...
Это работает, но настройки плагина не сохраняются.
Погуглив, объединил формы, убрал action из заголовка формы и перенес в кнопку Save (formaction), переделал форму на... <form method="post" enctype="multipart/form-data" > ... <?php settings_fields($plugin_option); do_settings_sections($plugin_page); ?> <input type="submit" class="button-primary" name = "MySave" id = "iMySave" value="<?php echo __('MySave',$plugin_option); ?>" > <input type="submit" class="button-primary" formaction="options.php" name = "ButSave" id = "iButSave" value="<?php echo __('Save',$plugin_option); ?>" > /form> ... functions My() { ... некие действия ...}; ....
Теперь работает и сохранение опций плагина и моя кнопа отдельно.
Вопрос — как
— либо в функции My() (после необходимых действий) вызвать нажатие кнопки Save
— либо в ней каким то образом вызвать обработчик action=»options.php»Еще раз: требуется убрать кнопку Save, оставив MySave, которая бы сначала выполняла функцию My(), а затем вызывала штатный обработчик WP по сохранению опций плагина.
Или др. идеи.
Спасибо.
- Тема «помогите вставить опцию в плагин» закрыта для новых ответов.