¿Cómo borrar los datos de la opción de un tema cuando se retira ese tema?

He desarrollado un tema que guarda algunas opciones para la base de datos. Quiero borrar los datos de la opción de la base de datos mientras el usuario elimina el tema. Pero no sé si hay alguna acción gancho para hacerlo.

¿O hay algún método alternativo para lograrlo..


Solución 1

No creo que esto es posible con un gancho de acción. Sólo puede eliminar un tema desde el panel de administración después de que ya se haya desactivado. Incluso si existiera un gancho de acción para eliminar (no desactivar) un tema, su tema functions.php no llegaría cuando eres capaz de golpear el enlace eliminar.

Puesto que este es un tema personal para su propio uso, sólo puede eliminar las opciones que quieras desde la tabla de base de datos de 'opciones' usando phpMyAdmin o un plugin Manager opciones. Una alternativa sería incluir a algún tipo de botón desinstalar en una página de opciones para tu tema que retire las opciones de la base de datos y desactivar el tema, tal vez activando TwentyTwelve o dejar que el usuario elija cual tema para activar después de completar la desinstalación..

Solución 2

add_action('switch_theme', 'mydeactivationfunction', 10 , 2);
function mydeactivationfunction() {
delete_option( 'option_name' ); //do this for each option your deleting
}
Si esto no funciona en el functions.php temas puede ponerlo en un pequeño plugin y sólo activar / desactivar cuando quieras ajustes despejó en el interruptor.




Problemas relacionados

Cómo quitar la opción de borrar tema en tablero de instrumentos

¿Eliminar la configuración si se elimina el tema?

¿WP no quita subidas de carpeta cuando retira de biblioteca de medios?

Agregar una opción a un tema infantil de veinte once

Perder todo mi texto y entradas sobre tema ColorWay

Error de veinte once tema Opciones

Anular la configuración actual del tema en wp_config.php

¿Qué tipo de subir imagen dentro de las opciones del tema?

Emergente preguntando si deben extraerse datos sobre plugin desinstalar

¿Cómo * quitar * una plantilla de página principal tema de un tema infantil?

Definición de tipo de correos personalizados no debería estar en el tema ¿cómo?

¿frente estático página sólo para ciertos temas?

Source: Stack Exchange Inc; License: cc by-sa 3.0 Contacto / Contact