2015-01-10 3 views
0

Я создаю тему в wordpress, и теперь я создаю страницу параметров темы по внешнему виду. Теперь, если пользователь удаляет тему из системы, я хочу удалить любые данные из базы данных.Wordpress hook после темы удаляется

function register_my_setting() { 
    register_setting('settings_grup', 'array_post_redirect'); 
} 
add_action('admin_init', 'register_my_setting'); 

Теперь я хочу, чтобы удалить варианты, но единственное решение я нашел это крюк: switch_theme и unregister_setting функция. Есть ли лучший крюк для этого?

function un_register_my_setting() { 
    unregister_setting ('settings_grup', 'array_post_redirect'); 
} 
add_action('switch_theme', 'un_register_my_setting'); 

ответ

0

Существует очень хороший учебник here, который показывает вам, как создать register_deactivation_hook для вашей темы. Wordpress не имеет этой функции для тем (например, плагинов) по умолчанию, но с небольшой настройкой вы можете дублировать поведение для своей темы.

Для справки, это делалось, как это (пред 3,1 я считаю):

if (is_admin() && isset($_GET['activated']) && $pagenow == "themes.php") { 
    // do your stuff 
} 
+0

нормально, если я использую after_switch_theme и unregister_setting. Тема по-прежнему в выборе использования и может быть активирована. Но данных нет (нет следа в базе данных), поэтому его нужно переконфигурировать? верный ? – user2217288

+0

Если я правильно понял ваш вопрос (и вы правильно удалили все данные), то да, он должен потребовать реконфигурации. –

Смежные вопросы