¿Cómo llamar nuevos widgets en la barra lateral de un tema personalizado?

10 ene 2014, 11:42:57
Vistas: 13.6K
Votos: 0

Estoy desarrollando un tema en el cual quiero invocar widgets disponibles ej. Calendario y los de plugins instalados. Los he colocado en la barra lateral desde el panel de widgets pero no se visualizan en el frontend.

Código de Sidebar.php->

<div id="sidebar">

<h2>Noticias & Anuncios</h2>

<ul class="sidebar_list">

<?php dynamic_sidebar('sidebar'); ?>
Puedes personalizar los colores de este tema mediante su potente panel de opciones. Incluye documentación detallada.<br /><br /><br />

<?php if (is_page(array('home', 'about-us', 'academics', 'admission', 'activities', 'hall-of-fame', 'alumni', 'photo-gallery', 'news' ))) ?>
<?php $menu=wp_nav_menu('menu=sidebar_menu'); ?>
<?php if ( ! dynamic_sidebar( 'Sidebar' )) : ?>
<?php // Si no se encuentra la barra lateral dinámica, mostrar widgets predeterminados ?>
<?php endif; ?>
</ul>

</div>

Código de functions.php->

<?php

if(function_exists('register_sidebar'))
{
// Registrar Widgets para Barra Lateral
register_sidebar(array('name'=>'Left-Sidebar',
'before_widget'=>'<li>',
'after_widget'=>'</li>',
'before_title'=>'<h3>',
'after_title'=>'</h3>'
));
}
?>
0
Todas las respuestas a la pregunta 1
2

Pondré un código básico para crear un nuevo widget. En WordPress se llama register_sidebar; En tu código, no has puesto un ID. Id=>tu-id-de-widget

Coloca este código en tu functions.php

function my_widget(){
    register_sidebar( array(
        'name' => __( 'Barra lateral frontal', 'yourtheme' ),
        'id' => 'sidebar-1',
        'description' => __( 'Esta es la descripción', 'yourtheme' ),
        'before_widget' => '<aside>',
        'after_widget' => '</aside>',
        'before_title' => '<h3>',
        'after_title' => '</h3>',
    ) );
}
add_action( 'widgets_init', 'my_widget' );

Luego coloca este código en tu index.php o sidebar.php (donde prefieras)

if ( is_active_sidebar( 'sidebar-1' ) ) : //verifica si la barra lateral está en uso.
dynamic_sidebar( 'sidebar-1' );  // muestra la barra lateral.
endif;

Recuerda colocar el ID.

Más información http://codex.wordpress.org/Function_Reference/register_sidebar

10 ene 2014 12:27:09
Comentarios

Tengo que pegarlo tal cual: Id=>tu-id-de-widget ¿o también debo especificar el número de ID?

admin admin
10 ene 2014 12:31:59

No. Es solo un ejemplo. Prueba mi código como dije anteriormente.

ucon89 ucon89
10 ene 2014 14:27:19