Subscribete

Ver articulos del blog

Crear un nuevo widget personal en Wordpress

Crear un nuevo  widget


Abriremos el fichero functions.php de la raíz de la plantilla, su ruta es:
/wp-content/themes/mi_tema/functions.php

En este fichero, añadiremos el siguiente código:
//functions.php nuevas posiciones widget
function endeos_widgets_init() {
    register_sidebar( array(
        'name'          => 'Nueva zona de widgets',
        'id'            => 'id-del-widget',
        'before_widget' => '<div class="classe-widget">',
        'after_widget'  => '</div>',
    ) );
}

add_action( 'widgets_init', 'endeos_widgets_init' );

Básicamente es la creación e inicialización de la zona de widget. Al hacerlo, deberíamos verlo reflejado en el Dashboard de WordPress:

 

LLamar a los widgets


Los widgets que pongamos en esta nueva zona se carguen en algún sitio. Supongamos que queremos que estos widgets se carguen al final de la cabecera, pues deberemos modificar el fichero header.php y añadir el código en la parte concreta que nos interese (por ejemplo, justo antes de la etiqueta </header>):

La forma más correcta de hacerlo es así..
//Código para cargar widget en otro fichero php (footer, header, etc)
    <?php if ( is_active_sidebar( 'id-del-widget' ) ) : ?>
        <div id="id-del-widget" class="primary-sidebar widget-area" role="complementary">
            <?php dynamic_sidebar( 'id-del-widget' ); ?>
        </div><!-- #primary-sidebar -->
    <?php endif; ?>

Dependiendo de dónde queremos cargar los widgets, escogeremos un fichero que se encuentran en la  la plantilla.