Wordpress: обработчик сохранения кастомной страницы опций?

Давненько я не работал с вордпрессом а сегодня сел сделать кастомную страницу опций + ее сохранение в бд и чуть-чуть осел)

На сколько я помню то у страниц опций, созданыых таким образом не имеют хуков типа save_post и т.д.:
function add_my_option() {
	add_options_page('my_option', 'my_option', 'manage_options', 'my_option', 'render_my_option');
}

function render_my_option() {
	get_template_part( 'template-parts/admin/my-option' );
}


а нужно просто к примеру в functions.php повесить обработчик на кнопку сабмита формы на странице:
if ( empty( $_POST['my_option_submit'] ) ) {
    do ...
}


правильно ли я собрался делать или я что-то упустил? подскажите пожалуйста.
  • Вопрос задан
  • 2868 просмотров
Решения вопроса 1
@neatek
в function render_my_option()
инклудишь файлы, первый обработка запроса, второй рендер и вывод формы
include post_process.php
include html_render.php

ну и в post_process.php
пишешь
if(isset($_POST)) {
   ...
}

Это обработка кастомных запросов.
А save_post работает исключительно на "Обновление", "Создание" - Записи в админке.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
maxxannik
@maxxannik
Сайты на WordPress + Интернет магазины WooCommerce
Вообще не правильно. Даже рядом не пахло кодексом. Это дикий костыль. Позор джунглям.
Читаем Settings API. Или статьи в рунете есть.
Либо можно оставить костыли. А потом говорить что ВордПресс тормозит. Хотя реально тормоза не в ВордПрессе, а в коде таких вот гениев. Тяп ляп, шлеп шлеп и в продакшн.
Ответ написан
@Qumbeez
Вообще используйте ACF PRO.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы