Cómo habilitar widgets predeterminados en un tema personalizado
6 may 2011, 18:57:56
Vistas: 2.88K
Votos: 1
En el desarrollo de temas personalizados, ¿cómo se habilitan los widgets predeterminados integrados? Me refiero a los widgets incorporados por defecto, no a los personalizados. Probé el siguiente ejemplo para un blog con WP 3.12 colocándolo en el archivo functions.php de mi tema, intentando activar las Páginas por defecto. No funcionó, pero no sé por qué.
function mytheme_widget_init(){
$asOps = array(
'classname' => 'widget_pages',
'description' => __( "Un widget que muestra la lista de páginas de tu sitio.")
);
wp_register_sidebar_widget('pages', __('Páginas'), 'wp_widget_pages', $asOps);
}
add_action('widgets_init','mytheme_widget_init');
¿Qué estoy haciendo mal?
EDITADO: LA SOLUCIÓN
En mi tema, necesité volver a editar sidebar.php y usar este marcado en su lugar.
<?php ?>
<div id="sidebar" role="complementary">
<ul>
<?php if ( !dynamic_sidebar(1) ) : ?>
<?php endif; ?>
<?php if ( !is_active_sidebar(1) ) : ?>
<li id="search" class="widget-container widget_search">
<?php get_search_form(); ?>
</li>
<li id="categories" class="widet-container widget_categories">
<?php wp_list_categories('show_option_none=&title_li=<h2>' . __('Categorías') . '</h2>' ); ?>
</li>
<li id="archives" class="widget-container widget_archives">
<h2 class="widget-title">Archivos</h2>
<ul>
<?php wp_get_archives( 'type=monthly' ); ?>
</ul>
</li>
<li id="pages" class="widget-container widget_pages">
<ul>
<?php wp_list_pages('title_li=<h2>' . __('Páginas') . '</h2>'); ?>
</ul>
</li>
<?php endif; ?>
</ul>
</div><!-- sidebar -->

Volomike
1.86K
Todas las respuestas a la pregunta
1
1
Esa no es la forma, wp_register_sidebar_widget
se usa para crear widgets.
Si quieres que tu barra lateral muestre widgets por defecto, usa [dynamic_sidebar()][1]
en tu tema, por ejemplo del tema 2010:
<div id="primary" class="widget-area" role="complementary">
<ul class="xoxo">
<?php
/* Cuando llamamos a la función dynamic_sidebar(), mostrará
* los widgets para esa área de widgets. Si en cambio devuelve false,
* entonces la barra lateral simplemente no existe, así que codificaremos
* algunos widgets por defecto por si acaso.
*/
if ( ! dynamic_sidebar( 'primary-widget-area' ) ) : ?>
<li id="search" class="widget-container widget_search">
<?php get_search_form(); ?>
</li>
<li id="archives" class="widget-container">
<h3 class="widget-title"><?php _e( 'Archivos', 'twentyten' ); ?></h3>
<ul>
<?php wp_get_archives( 'type=monthly' ); ?>
</ul>
</li>
<li id="meta" class="widget-container">
<h3 class="widget-title"><?php _e( 'Meta', 'twentyten' ); ?></h3>
<ul>
<?php wp_register(); ?>
<li><?php wp_loginout(); ?></li>
<?php wp_meta(); ?>
</ul>
</li>
<?php endif; // final del área de widgets primaria ?>
</ul>
</div><!-- #primary .widget-area -->

Bainternet
67.7K
6 may 2011 19:18:54
Preguntas relacionadas
1
respuestas