Я использую API настроек для хранения настроек, которые пользователь устанавливает для плагина. Кроме того, когда он нажимает кнопку «Сохранить» на странице плагина, я хочу сделать несколько звонков другому API в WordPress (сгенерировать / обновить форму CF7), а не просто сделать сообщение для «options.php»
Сохранение настроек работает, следуя инструкциям и инструкциям по использованию настроек API. Прилагается ниже
- хук, который я определил, и который я ожидаю вызвать при обновлении опции
- определение функции обратного вызова в хуке
- тег 'form' (экранированный от php) HTML-кода в функции для отображения фактической страницы администратора.
Вот выдержки из кода:
add_action('option_update_ordered_fields_in_form','set_cf7_form');
.....
function setup_cf7_form($oldval,$newval,$option) {
...
}
....
function stpz_settings_page() {
....?>....
<form method="post" action="options.php">
<?php settings_fields( 'form_my_settings' ); ?>
<?php do_settings_sections( 'form_my_settings' ); ?>
<tr>
<td><input id="result" type="hidden" name="ordered_fields_in_form" value="
<?php echo esc_attr( get_option('ordered_fields_in_form') ); ?>" /></td>
<td><?php submit_button(); ?></td>
</tr>
</form>
.....
<?php
}
?>
функция setup_cf7_form, по-видимому, вообще не вызывается при нажатии кнопки отправки. Я бы наивно подозревал, что это обновит опцию order_fields_in_form и, следовательно, вызовет ловушку
(на самом деле он обновляет параметр, который я вижу, если я перезагружаю страницу настроек для плагина)
Я подозреваю, что это может быть совершенно неправильный способ сделать это.