WordPress Hosting

wordpress theme mods customizer

¿Quieres restablecer ajustes del personalizador o borrarlos? Aquí tienes todas las posibilidades para que elijas

Te has puesto a trastear con el personalizador de WordPress, has cambiado colores por aquí, tipografías por allá, has activado opciones que ni sabías que existían y, de repente, tu web parece un cuadro abstracto que no pega ni con cola. Lo peor es que no te acuerdas de qué narices has tocado. Si esto te suena, tranquilo, le pasa hasta a los más experimentados.

El personalizador de WordPress es una herramienta fantástica para ajustar la apariencia de tu tema sin tocar código, pero tiene un problema, y es que no incluye un botón de «deshacer todo» o «restablecer» ni un historial de cambios. Si te pierdes entre tantas opciones la única solución es volver a empezar desde cero, pero para has llegado hasta aquí ¿no?.

En esta guía te explico todas las formas de restablecer los ajustes del personalizador a sus valores por defecto, desde plugins que lo hacen con un clic hasta comandos de terminal, consultas SQL y código PHP que puedes añadir a tu instalación. Elige el método que mejor se adapte a tu nivel técnico y a la situación en la que te encuentres.

Resumen rápido para impacientes
Para restablecer los ajustes del personalizador de WordPress puedes usar plugins como Reset Customizer o Customizer Backup & Reset de WPZOOM, que añaden un botón de reset directamente en el personalizador. Si prefieres métodos manuales, puedes usar el comando wp theme mod remove --all de WP-CLI, ejecutar una consulta SQL en phpMyAdmin para borrar la opción theme_mods_nombre-tema, o añadir código PHP con la función remove_theme_mods(). Todos los ajustes del personalizador se guardan en la tabla wp_options de la base de datos como opciones serializadas.

Qué son los theme_mods y dónde se guardan

Antes de ponerte a borrar cosas conviene entender qué vas a borrar exactamente. Cuando modificas algo en el personalizador de WordPress esos cambios se guardan como theme_mods (modificaciones del tema). No se almacenan en archivos del tema sino en la base de datos.

Concretamente, WordPress guarda todos los theme_mods en la tabla wp_options, dentro de una fila cuyo option_name sigue el patrón theme_mods_nombre-del-tema. Por ejemplo, si usas GeneratePress, encontrarás una entrada llamada theme_mods_generatepress. El valor de esa opción es un array serializado con todos los ajustes que has modificado, y también verás, de paso, si es el tema activo o no.

Esto tiene varias implicaciones importantes:

  • Cada tema tiene sus propios theme_mods independientes. Si cambias de tema y luego vuelves al anterior recuperas tus ajustes.
  • Si desinstalas un tema, sus theme_mods permanecen en la base de datos como datos huérfanos.
  • Restablecer o resetear el personalizador significa borrar esa entrada de la base de datos, nada más.

Cuándo necesitas resetear el personalizador

Hay varias situaciones en las que te puede venir bien empezar de cero con los ajustes del personalizador:

  • Te has liado con las opciones: Has tocado tantas cosas que ya no sabes qué has cambiado y qué no. Volver al estado inicial es más rápido que intentar deshacer cambio a cambio.
  • El tema no se ve bien: A veces, combinaciones de ajustes pueden causar conflictos visuales o incluso errores. Resetear es una forma rápida de descartar que el problema venga de tus personalizaciones.
  • Quieres empezar un rediseño desde cero: Si vas a cambiar completamente la apariencia de tu web, partir de los valores por defecto del tema te da un lienzo limpio.
  • Has importado ajustes que no funcionan: Quizás has importado una configuración de otro sitio o una demo que no se adapta a tu instalación.
  • Estás desarrollando o haciendo pruebas: Los desarrolladores necesitamos resetear constantemente para probar diferentes configuraciones.

Método 1: Plugins con botón de reset

La forma más sencilla de resetear el personalizador es usar un plugin que añada un botón directamente en la interfaz. Hay varios disponibles, pero te recomiendo dos que funcionan bien y se mantienen actualizados.

Reset Customizer

Este plugin añade un botón de reset en el panel del personalizador. Es simple y directo: pulsas el botón, confirmas que quieres borrar todo y listo.

Una vez instalado y activado, ve a Apariencia → Personalizar y verás el nuevo botón de Reset en la parte superior. Al pulsarlo te aparece un aviso de confirmación, porque la acción no se puede deshacer.

Además de resetear, el plugin incluye algunas funciones extra útiles:

  • Ver los theme_mods activos del tema actual.
  • Borrar mods individuales en lugar de todos a la vez.
  • Descargar los theme_mods como archivo de respaldo.
  • Restaurar theme_mods desde un archivo.
  • Borrar theme_mods de temas antiguos que ya no usas.

reset customizer

Estas opciones adicionales las encuentras en Apariencia → Backup Customizer.

Descargar Reset Customizer

Customizer Backup & Reset de WPZOOM

Este plugin es similar al anterior, pero con un enfoque más orientado a la seguridad. Su principal ventaja es que puede crear una copia de seguridad automática antes de resetear.

Una vez activado, aparecen dos botones en la parte superior del personalizador:

  • Reset: borra todos los ajustes sin hacer backup.
  • Backup & Reset: guarda una copia de seguridad antes de borrar. Esta copia se conserva durante 30 días.

customizer backup reset

También incluye una opción para restablecer el CSS adicional junto con el resto de ajustes, útil si has añadido código CSS personalizado desde el personalizador.

El plugin funciona con la mayoría de temas que usan la API estándar del personalizador para guardar sus ajustes. Puede que no funcione con algunos temas que usan métodos propios de almacenamiento.

Descargar Customizer Backup & Reset

Reset Astra Customizer

Si usas el tema Astra, existe un plugin específico que solo resetea los ajustes de este tema. Es útil si tienes Astra y quieres una solución dedicada, aunque los plugins genéricos anteriores también funcionan perfectamente con Astra.

astra customizer reset

Descargar Reset Astra Customizer

Método 2: Exportar, borrar e importar

Si lo que quieres es tener un control total sobre qué ajustes conservas y cuáles no, puedes usar el plugin Customizer Export/Import de Beaver Builder. Este plugin no resetea directamente, pero te permite exportar todos tus ajustes a un archivo, hacer los cambios que quieras manualmente, y luego importar solo lo que te interese.

El flujo de trabajo sería:

  1. Instala y activa el plugin.
  2. Ve a Apariencia → Personalizar y busca la sección «Export/Import«.
  3. Exporta tus ajustes actuales como copia de seguridad.
  4. Usa otro método (como los que explico más adelante) para borrar los theme_mods.
  5. Si necesitas recuperar algo, importa el archivo que guardaste.

customizer export import

El archivo exportado incluye tanto los theme_mods como las opciones del personalizador guardadas de otras formas. También puede importar las imágenes asociadas a los ajustes, como imágenes de cabecera o logotipos.

Descargar Customizer Export/Import

Método 3: WP-CLI desde el terminal

Si tienes acceso SSH a tu servidor y WP-CLI instalado esta es probablemente la forma más rápida y limpia de gestionar los theme_mods. WP-CLI incluye comandos específicos para trabajar con ellos.

Primero conéctate a tu servidor por SSH y navega hasta el directorio de tu instalación de WordPress, luego puedes usar estos comandos:

Ver todos los theme_mods actuales

wp theme mod list

Esto te muestra una tabla con todas las modificaciones guardadas para el tema activo, con su nombre y valor.

Borrar todos los theme_mods de golpe

wp theme mod remove --all

Este comando elimina todas las modificaciones del tema activo. Te devolverá un mensaje de confirmación cuando termine.

Borrar un theme mod específico

wp theme mod remove nombre_del_mod

Por ejemplo, para borrar solo el color de fondo:

wp theme mod remove background_color

Borrar varios theme_mods a la vez

wp theme mod remove background_color header_textcolor custom_logo

Simplemente lista los nombres separados por espacios.

Consultar el valor de un theme mod

wp theme mod get background_color

Útil para comprobar qué valor tiene un ajuste antes de borrarlo.

La principal ventaja de usar WP-CLI es que puedes automatizar estas tareas en scripts o usarlo para gestionar múltiples sitios de forma eficiente.

Método 4: consulta SQL en phpMyAdmin

Si no puedes acceder al escritorio de WordPress ni tienes WP-CLI disponible, siempre puedes ir directamente a la base de datos. Este método es útil en situaciones de emergencia, por ejemplo cuando un ajuste del personalizador ha roto tu sitio y no puedes entrar al admin.

Acceder a phpMyAdmin

Entra en el panel de control de tu hosting (Site Tools, cPanel, Plesk, o el que uses) y busca phpMyAdmin en la sección de bases de datos. Selecciona la base de datos de tu WordPress en el panel izquierdo.

Nota importante sobre el prefijo de las tablas
Si tu instalación de WordPress usa un prefijo de tablas diferente a wp_ ajusta el nombre de la tabla en las consultas. Puedes ver el prefijo en el archivo wp-config.php, en la línea que define $table_prefix

Localizar los theme_mods

Ve a la pestaña SQL o haz clic en la tabla wp_options y busca una entrada cuyo option_name sea theme_mods_ seguido del nombre de tu tema. El nombre del tema es el nombre de la carpeta del tema en wp-content/themes/.

Por ejemplo, para GeneratePress sería este: theme_mods_generatepress.

theme mods generatepress

Borrar los theme_mods del tema activo

Ejecuta esta consulta SQL, sustituyendo nombre-del-tema por el nombre real de tu tema:

DELETE FROM wp_options WHERE option_name = 'theme_mods_nombre-del-tema';

Por ejemplo:

DELETE FROM wp_options WHERE option_name = 'theme_mods_generatepress';

Borrar los theme_mods de todos los temas

Si quieres hacer limpieza general y borrar los ajustes de todos los temas (incluidos los que ya no tienes instalados), usa esta consulta:

DELETE FROM wp_options WHERE option_name LIKE 'theme_mods_%';

Advertencia: Esto borra los ajustes de todos los temas, no solo del activo. Úsalo con precaución.

Método 5: Código PHP con función nativa

WordPress incluye funciones nativas para gestionar los theme mods. Puedes usarlas para crear tu propio sistema de reset o para ejecutar un borrado puntual.

Borrar todos los theme_mods con remove_theme_mods()

La función remove_theme_mods() elimina todos los ajustes del personalizador del tema activo. Puedes ejecutarla de varias formas.

Opción A: añadirla temporalmente al functions.php

Añade este código al archivo functions.php de tu tema hijo, carga cualquier página del sitio, y luego borra el código:

// Borrar todos los theme mods del tema activo (eliminar después de usar)
add_action( 'init', function() {
    if ( current_user_can( 'manage_options' ) ) {
        remove_theme_mods();
    }
}, 1 );

Opción B: crear un archivo temporal en la raíz

Crea un archivo PHP en la raíz de tu WordPress, lo llamas algo como ayudawp-borrar-theme-mods.php, le pegas este contenido y guardas los cambios:

<?php
require_once( 'wp-load.php' );

if ( current_user_can( 'manage_options' ) ) {
    remove_theme_mods();
    echo 'Theme mods eliminados correctamente.';
} else {
    echo 'No tienes permisos para hacer esto.';
}

A continuación accede a él desde el navegador (p.ej.: https://tudominio.com/ayudawp-borrar-theme-mods.php), y luego bórralo.

MU-plugin con botón de reset en el escritorio

Si quieres una solución más permanente y controlada, puedes crear un mu-plugin que añada un botón de reset en el menú de Apariencia. Crea un archivo llamado ayudawp-reset-customizer.php en la carpeta wp-content/mu-plugins/ (créala si no existe) con este código:

<?php
/**
 * Plugin Name: AyudaWP Reset Customizer
 * Description: Añade una opción para restablecer los ajustes del personalizador.
 * Version: 1.0.0
 * Author: AyudaWP
 */

// Evitar acceso directo
if ( ! defined( 'ABSPATH' ) ) {
    exit;
}

/**
 * Añade el submenú en Apariencia
 */
function ayudawp_reset_customizer_menu() {
    add_theme_page(
        'Resetear personalizador',
        'Resetear personalizador',
        'manage_options',
        'ayudawp-reset-customizer',
        'ayudawp_reset_customizer_page'
    );
}
add_action( 'admin_menu', 'ayudawp_reset_customizer_menu' );

/**
 * Muestra la página de administración
 */
function ayudawp_reset_customizer_page() {
    // Verificar permisos
    if ( ! current_user_can( 'manage_options' ) ) {
        wp_die( 'No tienes permisos para acceder a esta página.' );
    }

    // Procesar el reset si se ha enviado el formulario
    if ( isset( $_POST['ayudawp_reset_customizer_nonce'] ) ) {
        if ( wp_verify_nonce( $_POST['ayudawp_reset_customizer_nonce'], 'ayudawp_reset_customizer_action' ) ) {
            remove_theme_mods();
            echo '<div class="notice notice-success"><p>Los ajustes del personalizador se han restablecido correctamente.</p></div>';
        }
    }

    // Obtener información del tema activo
    $theme = wp_get_theme();
    $theme_mods = get_theme_mods();
    $mods_count = is_array( $theme_mods ) ? count( $theme_mods ) : 0;
    ?>
    <div class="wrap">
        <h1>Resetear personalizador</h1>
        
        <div class="card" style="max-width: 600px; padding: 20px;">
            <h2>Tema activo: <?php echo esc_html( $theme->get( 'Name' ) ); ?></h2>
            <p>El tema tiene actualmente <strong><?php echo esc_html( $mods_count ); ?></strong> ajustes personalizados guardados.</p>
            
            <p style="color: #d63638;"><strong>Atención:</strong> Esta acción eliminará todos los ajustes del personalizador del tema activo. No se puede deshacer.</p>
            
            <form method="post">
                <?php wp_nonce_field( 'ayudawp_reset_customizer_action', 'ayudawp_reset_customizer_nonce' ); ?>
                <p>
                    <button type="submit" class="button button-primary" onclick="return confirm('¿Estás seguro? Esta acción no se puede deshacer.');">Restablecer ajustes del personalizador</button>
                </p>
            </form>
        </div>

        <?php if ( ! empty( $theme_mods ) && is_array( $theme_mods ) ) : ?>
        <div class="card" style="max-width: 600px; padding: 20px; margin-top: 20px;">
            <h3>Ajustes actuales</h3>
            <table class="widefat striped">
                <thead>
                    <tr>
                        <th>Nombre</th>
                        <th>Valor</th>
                    </tr>
                </thead>
                <tbody>
                    <?php foreach ( $theme_mods as $key => $value ) : ?>
                    <tr>
                        <td><code><?php echo esc_html( $key ); ?></code></td>
                        <td><?php 
                            if ( is_array( $value ) ) {
                                echo '<em>(array)</em>';
                            } elseif ( is_bool( $value ) ) {
                                echo $value ? 'true' : 'false';
                            } else {
                                echo esc_html( wp_trim_words( $value, 10 ) );
                            }
                        ?></td>
                    </tr>
                    <?php endforeach; ?>
                </tbody>
            </table>
        </div>
        <?php endif; ?>
    </div>
    <?php
}

Este mu-plugin crea una nueva opción en Apariencia → Resetar personalizador donde puedes ver todos los ajustes actuales y borrarlos con un botón.

plugin persoanlizado resetar personalizador

Al ser un mu-plugin se carga automáticamente y no aparece en la lista de plugins desactivables, algo tremendamente útil para herramientas de administración. Pero vamos, que tampoco es para que lo dejes ahí para siempre. Cuando lo termines de usar lo borras y Santas Pascuas.

Cómo limpiar theme_mods de temas desinstalados

Cada vez que activas un tema y haces cambios en el personalizador, WordPress guarda esos ajustes en la base de datos. El problema es que cuando desinstalas el tema, esos datos se quedan ahí ocupando espacio. Si has probado muchos temas a lo largo del tiempo, como es mi caso, puedes tener un buen montón de opciones huérfanas.

Identificar theme_mods huérfanos

Primero, comprueba qué theme_mods tienes en la base de datos. Desde phpMyAdmin, ejecuta esta consulta:

SELECT option_name, LENGTH(option_value) as tamaño 
FROM wp_options 
WHERE option_name LIKE 'theme_mods_%' 
ORDER BY option_name;

Esto te mostrará una lista de todos los theme_mods guardados junto con su tamaño en bytes.

buscar theme mods phpmyadmin

Compara esta lista con los temas que tienes instalados en wp-content/themes/. Los que no coincidan son huérfanos.

Borrar theme_mods huérfanos manualmente

Una vez identificados puedes borrarlos uno a uno con consultas SQL:

DELETE FROM wp_options WHERE option_name = 'theme_mods_generatepress';

Código PHP para limpiar automáticamente

Si prefieres un método más automatizado, puedes añadir este código como mu-plugin. Compara los theme_mods de la base de datos con los temas instalados y borra los que no correspondan a ningún tema existente:

<?php
/**
 * Plugin Name: AyudaWP Limpiar Theme Mods Huérfanos
 * Description: Elimina los theme mods de temas que ya no están instalados.
 * Version: 1.0.0
 * Author: AyudaWP
 */

// Evitar acceso directo
if ( ! defined( 'ABSPATH' ) ) {
    exit;
}

/**
 * Añade el submenú en Herramientas
 */
function ayudawp_orphan_mods_menu() {
    add_management_page(
        'Limpiar theme mods huérfanos',
        'Theme mods huérfanos',
        'manage_options',
        'ayudawp-orphan-mods',
        'ayudawp_orphan_mods_page'
    );
}
add_action( 'admin_menu', 'ayudawp_orphan_mods_menu' );

/**
 * Obtiene los theme mods huérfanos
 */
function ayudawp_get_orphan_theme_mods() {
    global $wpdb;
    
    // Obtener todos los theme mods de la BD
    $all_mods = $wpdb->get_col(
        "SELECT option_name FROM {$wpdb->options} WHERE option_name LIKE 'theme_mods_%'"
    );
    
    // Obtener temas instalados
    $installed_themes = array_keys( wp_get_themes() );
    
    $orphans = array();
    
    foreach ( $all_mods as $mod_name ) {
        // Extraer nombre del tema del option_name
        $theme_slug = str_replace( 'theme_mods_', '', $mod_name );
        
        if ( ! in_array( $theme_slug, $installed_themes, true ) ) {
            $orphans[] = $mod_name;
        }
    }
    
    return $orphans;
}

/**
 * Muestra la página de administración
 */
function ayudawp_orphan_mods_page() {
    global $wpdb;
    
    if ( ! current_user_can( 'manage_options' ) ) {
        wp_die( 'No tienes permisos para acceder a esta página.' );
    }

    // Procesar borrado
    if ( isset( $_POST['ayudawp_clean_orphans_nonce'] ) ) {
        if ( wp_verify_nonce( $_POST['ayudawp_clean_orphans_nonce'], 'ayudawp_clean_orphans_action' ) ) {
            $orphans = ayudawp_get_orphan_theme_mods();
            $deleted = 0;
            
            foreach ( $orphans as $orphan ) {
                $result = $wpdb->delete(
                    $wpdb->options,
                    array( 'option_name' => $orphan ),
                    array( '%s' )
                );
                if ( $result ) {
                    $deleted++;
                }
            }
            
            echo '<div class="notice notice-success"><p>Se han eliminado ' . esc_html( $deleted ) . ' registros huérfanos.</p></div>';
        }
    }

    $orphans = ayudawp_get_orphan_theme_mods();
    ?>
    <div class="wrap">
        <h1>Theme mods huérfanos</h1>
        
        <p>Los theme mods huérfanos son ajustes del personalizador de temas que ya no tienes instalados. Ocupan espacio en la base de datos y se cargan innecesariamente.</p>

        <?php if ( empty( $orphans ) ) : ?>
            <div class="notice notice-success">
                <p>No se han encontrado theme mods huérfanos. Tu base de datos está limpia.</p>
            </div>
        <?php else : ?>
            <div class="card" style="max-width: 600px; padding: 20px;">
                <h2>Se han encontrado <?php echo count( $orphans ); ?> registros huérfanos</h2>
                
                <ul>
                    <?php foreach ( $orphans as $orphan ) : ?>
                        <li><code><?php echo esc_html( $orphan ); ?></code></li>
                    <?php endforeach; ?>
                </ul>
                
                <form method="post">
                    <?php wp_nonce_field( 'ayudawp_clean_orphans_action', 'ayudawp_clean_orphans_nonce' ); ?>
                    <p>
                        <button type="submit" class="button button-primary">Eliminar theme mods huérfanos</button>
                    </p>
                </form>
            </div>
        <?php endif; ?>
    </div>
    <?php
}

Este código crea una nueva opción en Herramientas → Theme mods huérfanos donde puedes ver qué ajustes corresponden a temas que ya no tienes instalados y borrarlos con un clic.

limpiar theme mods huerfanos

Qué método deberías elegir según tu momento

Para terminar, un resumen rápido de cuándo creo yo que deberías usar cada método:

  • Plugins (Reset Customizer o WPZOOM): la opción más sencilla para usuarios sin conocimientos técnicos.
  • Customizer Export/Import: cuando quieres hacer backup antes de restablecer o necesitas transferir ajustes entre sitios.
  • WP-CLI: para desarrolladores y administradores de sistemas que gestionan múltiples sitios o quieren automatizar tareas.
  • SQL directo: cuando no puedes acceder al escritorio de WordPress porque algo ha ido mal con el personalizador.
  • Código PHP propio: cuando quieres una solución permanente integrada en tu instalación sin depender de plugins.

Consideraciones antes de romper nada hacer reset del personalizador

Antes de lanzarte a borrar los ajustes del personalizador, hazme caso, ten en cuenta algunas cosas:

  • Haz una copia de seguridad. Aunque solo vayas a borrar los theme mods, siempre es buena idea tener un backup de la base de datos por si algo sale mal. Puedes usar el plugin Customizer Export/Import para exportar solo los ajustes del personalizador.
  • El CSS adicional también se borra. Si has añadido código CSS personalizado desde el personalizador (en la sección CSS adicional), ese código se guarda como un theme mod y se borrará junto con el resto. Cópialo antes si quieres conservarlo.
  • Los widgets del personalizador no se ven afectados. Los widgets se guardan de forma separada, así que resetear el personalizador no los borra.
  • Los menús tampoco se borran. La configuración de menús de navegación es independiente de los theme mods.
  • Si usas un tema hijo, cada uno tiene sus propios mods. El tema padre y el tema hijo tienen theme mods separados. Resetear uno no afecta al otro.

Y nada más, espero que hayas aprendido algo interesante, aquí me tienes para ayudarte a tener tu WordPress limpito y al día. Para todo lo demás, pues pregunta en los comentarios (ahí abajo).

Compartir en redes
Resumir con IA

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en las estrellas para valorarlo!

Promedio de puntuación 4.8 / 5. Total de votos: 5

¡Todavía no hay votos! Sé el primero en valorar este contenido.

Ya que has encontrado útil este contenido...

¡Sígueme en las redes sociales!

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!



Sobre el autor

Scroll al inicio