Hosting en inglés

Registro de dominios

Hosting SSD Wordpress

Trucos Para Personalizar Nuestro Sitio en WordPress Mediante Widgets

En un artículo anterior mostramos la manera de añadir áreas de widgets en dos pasos. En ese caso se empleó el siguiente código:

<div id="widgetized-area">
 
<?php if (function_exists('dynamic_sidebar') && dynamic_sidebar('widgetized-area')) : else : ?>
 
<div class="pre-widget">
<p><strong>Widgetized Area</strong></p>
<p>This panel is active and ready for you to add some widgets via the WP Admin</p>
</div>
 
<?php endif; ?>
 
</div>

Si examinamos este código podemos ver que todo lo que se ubica entre los comandos if/endif será la salida (output) para el navegador cuando no se hayan activado widgets. Este es un buen lugar para informar al usuario que el área permite utilizar widgets y puede ser personalizada a través de la sección para widgets en el panel de administración de WordPress. El código también incluye una clase “pre-widget” para ayudar a darle estilo al área pre-widget.

Multiples areas de widgets

Si tenemos un sidebar con un área para widgets no tenemos porqué detenernos ahí. La implementación de áreas de widgets adicionales solamente requiere que repliquemos los códigos utilizados en los pasos 1 y 2 para añadir un área de widgets en dos pasos. Por ejemplo, supongamos que queremos añadir añadir áreas de widgets en el header, sidebar y footer de nuestra plantilla. Para esto tenemos que modificar el archivo funtions.php de la siguiente forma:

if (function_exists('register_sidebar')) {
 
register_sidebar(array(
'name' => 'Header',
'id'   => 'header',
'description'   => 'This is the widgetized header.',
'before_widget' => '<div id="%1$s" class="widget %2$s">',
'after_widget'  => '</div>',
'before_title'  => '<h4>',
'after_title'   => '</h4>'
));
register_sidebar(array(
'name' => 'Sidebar',
'id'   => 'sidebar',
'description'   => 'This is the widgetized sidebar.',
'before_widget' => '<div id="%1$s" class="widget %2$s">',
'after_widget'  => '</div>',
'before_title'  => '<h4>',
'after_title'   => '</h4>'
));
register_sidebar(array(
'name' => 'Footer',
'id'   => 'footer',
'description'   => 'This is the widgetized footer.',
'before_widget' => '<div id="%1$s" class="widget %2$s">',
'after_widget'  => '</div>',
'before_title'  => '<h4>',
'after_title'   => '</h4>'
));
 
}

Seguidamente colocamos los siguientes códigos en los lugares en que queremos que aparezcan los widgets dentro de los archivos de la plantilla:

Header

<div id="widgetized-header">
 
<?php if (function_exists('dynamic_sidebar') && dynamic_sidebar('header')) : else : ?>
 
<div class="pre-widget">
<p><strong>Widgetized Header</strong></p>
<p>This panel is active and ready for you to add some widgets via the WP Admin</p>
</div>
 
<?php endif; ?>
 
</div>

Sidebar

<div id="widgetized-sidebar">
 
<?php if (function_exists('dynamic_sidebar') && dynamic_sidebar('sidebar')) : else : ?>
 
<div class="pre-widget">
<p><strong>Widgetized Sidebar</strong></p>
<p>This panel is active and ready for you to add some widgets via the WP Admin</p>
</div>
 
<?php endif; ?>
 
</div>

Footer

<div id="widgetized-footer">
 
<?php if (function_exists('dynamic_sidebar') && dynamic_sidebar('footer')) : else : ?>
 
<div class="pre-widget">
<p><strong>Widgetized Footer</strong></p>
<p>This panel is active and ready for you to add some widgets via the WP Admin</p>
</div>
 
<?php endif; ?>
 
</div>

Eso es todo. Por supuesto probablemente vamos a querer modificar ciertos detalles para que se ajusten a nuestras necesidades, pero esto es todo lo que se necesita para añadir múltiples áreas de widgets a nuestra plantilla de WordPress.

Organización de los widgets personalizados

 Lo primero que podemos hacer después de añadir nuevas áreas de widgets a nuestra plantilla es incluir un archivo “widgets.php” que contenga todos los widgets personalizados. Una simple línea de código es todo lo que se necesita para conseguir esta funcionalidad:

if ($wp_version >= 2.8) require_once(TEMPLATEPATH.'/widgets.php');

Este código se debe colocar en functions.php mientras que todos los widgets se ubican en el archivo widgets.php. Una vez en su lugar, este método asegura que los widgets estén cargados y disponibles para todas las versiones de WordPress. Esta es una forma de mantener organizos los archivos de la plantilla de nuestro blog.

Reemplazar los widgets por defecto de WordPress

Para muchos los widgets por defecto que incluye WordPress no resultan los más adecuados en sus aplicaciones. Afortunadamente es sumamente sencillo reemplazar estos widgets por defecto con nuestras propias creaciones. Por ejemplo, a continuación se muestra una manera de sustituir el widget de búsqueda que incluye WordPress con nuestra propia versión:

<?php function custom_search_widget() { ?>
 
<form action="http://localhost/283/index.php" method="get">
<div>
<label for="s">Site Search</label>
<input id="s" name="s" alt="Search" type="text" />
</div>
</form>
 
<?php } if (function_exists('register_sidebar_widget'))
 
register_sidebar_widget(__('Search'), 'custom_search_widget'); ?>

Esconder areas de widgets sin usar

Un área de widgets vacía en nuestra plantilla puede verse extraña, sobre todo cuando los estilos CSS son aplicados al elemento contenedor. Para prevenir que esto ocurra,  podemos “envolver” cada una de nuestras áreas de widgets con el siguiente código:

<?php if (function_exists('is_sidebar_active') && is_sidebar_active('sidebar')) { ?>
 
<!-- code from Step 2 or whatever you want -->
 
<?php } ?>

Con este código condicional, las áreas de widgets solo serán mostradas si contienen al menos un widget activo. Hay que mencionar que esta técnica condicional también funcional para desplegar elementos distintos a los widgets.

Trucos WordPress


SUSCRÍBETE SIN COSTO ALGUNO A NUESTRO BOLETÍN

Escribe tú correo electrónico:

Recibe contenido de este sitio sin costo alguno en tu e-mail. Solamente enviaremos los últimos artículos de Internetrcc, sin ningún tipo de spam

Web hosting recomendado

alojamiento wordpress

Deja un comentario