Удаление опций темы — на какой хук вешать?

При создании темы зачастую приходится заносить опции темы в БД WordPress,(add_option) Для корректного удаления темы хорошо было бы «убирать» за собой, удаляя свои опции из БД (delete_option). Вопрос : существует ли хук для деактивации ТЕМЫ, аналогичный хуку register_uninstall_hook(), предназначенный  для  деактивации плагинов?

Добавить Комментарий

Посмотрите в сторону switch_theme, более подробнее смотрите в кодексе: Codex

Отпишитесь пожалуйста, подошел ли вам данный ответ.

Добавить Комментарий

Спасибо за подсказку,  данный хук худо-бедно подходит, хотя по логике удалять опции, когда админ захотел просто попробовать другую тему как-то глупо.  Попробовал найти более логичный «delete_theme» — похоже, что события такого у WP не предусмотренно. Функция удаления темы — есть, события — не нахожу.
Я, к сожалению, пока не настолько силён в php,  внутренностях и логике WP, чтоб понять, почему не предусмотрен вполне логичный хук, срабатывающий, когда админ удаляет,а не переключает тему. Нашел у вас статью про кастомайзер — поизучаю, возможно логика wp  в том, что опции темы должны быть только в кастомайзере, а данные — в плагинах.
Пока же в сухом остатке вижу варианты либо делать отдельную кнопку для «очистки» данных темы,  либо выносить опции в кастомайзер (если он умеет убирать за собой), либо вешать очистку на менее логичные хуки типа switch_theme.

Про кастомайзер в скором времени будет еще статья, еще более подробная. Насчет удаляет он за собой или нет — не могу ответить, не интересовался данным моментом.

в 08.10.2015.
Добавить Комментарий

Ваш ответ

Размещая свой ответ, вы соглашаетесь с правилами сайта.