Cómo crear tus propios temas para WordPress

¿Quieres patrocinar?

¿Quieres aparecer aquí? Si quieres patrocinar este blog, ponte en contacto conmigo a través de este formulario

Creando un tema desde cero para WordPress parte 4: Acciones al activar/desactivar

Ya hemos aprendido qué es un tema de WordPress, cómo es y cómo funciona. En esta última entrada vamos a ver cómo ejecutar acciones al activarlo o desactivarlo.

Por ejemplo, al activar un tema de WordPress puede interesarnos modificar algunos valores por defecto o crear opciones de tema nuevas para nuestras configuraciones. Un ejemplo muy práctico es el siguiente: Si queremos que cualquier usuario pueda registrarse (opción que viene desactivada por defecto), al activar el tema podemos permitir el registro…pero debemos ser consecuentes y volver a desactivarlo cuando el usuario desactive nuestro tema.

Otros ejemplos para que pueda entenderse mejor: que nuestro tema modifique los roles y capacidades de usuarios, que necesitemos opciones de tema propias para personalizar el look & feel de nuestra web o añadir información de contacto, redes sociales, etc…

Para todo lo que se nos pueda ocurrir o podamos necesitar disponemos de dos hooks: after_switch_theme y switch_theme. Como lo mejor es verlo con un ejemplo, supongamos que en nuestro tema queremos que cualquiera pueda registrarse y además hemos creado unas opciones para el personalizador en nuestro functions.php donde establecemos los perfiles a las redes sociales.

Al activar el tema, a través del hook after_switch_theme activaremos el registro de usuarios y crearemos las opciones de nuestro tema con un valor por defecto. Al desactivar el tema, a través de hook switch_theme desactivaremos el registro de usuarios y borraremos las opciones de tema para no dejar rastros en la base de datos. Agregaremos a nuestro functions.php lo siguiente:

<?php

function my_theme_activation_actions() {
    update_option( "users_can_register", 1 );

    add_option( 'my_theme_facebook_url', '#', '', 'yes' );
    add_option( 'my_theme_twitter_url', '#', '', 'yes' );
    add_option( 'my_theme_googleplus_url', '#', '', 'yes' );
}
add_action( 'after_switch_theme', 'my_theme_activation_actions', 10 );


function my_theme_deactivation_actions() {
    update_option( "users_can_register", 0 );

    delete_option( 'my_theme_facebook_url' );
    delete_option( 'my_theme_twitter_url' );
    delete_option( 'my_theme_googleplus_url' );
}
add_action( 'switch_theme', 'my_theme_deactivation_actions', 10 );

Cada una de estas funciones se ejecutará una vez que el tema se activa o desactiva respectivamente, permitiéndonos establecer unos valores por defecto a configuraciones personalizadas.

Hasta aquí hemos llegado con la serie de 4 entradas sobre cómo crear temas WordPress a medida desde cero. Espero que os sea de utilidad.

¿Te ha resultado útil esta información?

Si este post te ha resuelto un problema, invítame a un café o a una cerveza. Con este pequeño gesto me animas a seguir escribiendo.