Cum să activezi widget-urile implicite într-o temă personalizată WordPress
6 mai 2011, 18:57:56
Vizualizări: 2.88K
Voturi: 1
În dezvoltarea de teme personalizate, cum se pot activa widget-urile implicite din WordPress? Vorbesc despre widget-urile implicite, nu cele personalizate. Am încercat următorul exemplu pentru un blog WP 3.12 plasând codul în fișierul functions.php al temei, încercând să activez widget-ul Pagini implicit. Nu a funcționat, dar nu înțeleg de ce.
function mytheme_widget_init(){
$asOps = array(
'classname' => 'widget_pages',
'description' => __( "Afișează o listă de pagini")
);
wp_register_sidebar_widget('pages', __('Pagini'), 'wp_widget_pages', $asOps);
}
add_action('widgets_init','mytheme_widget_init');
Ce fac greșit?
EDIT: SOLUȚIA
În tema mea, a trebuit să modific fișierul sidebar.php și să folosesc acest markup:
<?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>' . __('Categorii') . '</h2>' ); ?>
</li>
<li id="archives" class="widget-container widget_archives">
<h2 class="widget-title">Arhive</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>' . __('Pagini') . '</h2>'); ?>
</ul>
</li>
<?php endif; ?>
</ul>
</div><!-- sidebar -->

Volomike
1.86K
Toate răspunsurile la întrebare
1
1
nu așa se folosește, wp_register_sidebar_widget
este folosit pentru a crea widget-uri.
dacă vrei ca bara laterală să afișeze widget-uri în mod implicit, folosește [dynamic_sidebar()][1]
în tema ta, de exemplu din tema 2010:
<div id="primary" class="widget-area" role="complementary">
<ul class="xoxo">
<?php
/* Când apelăm funcția dynamic_sidebar(), aceasta va afișa
* widget-urile pentru acea zonă de widget-uri. Dacă în schimb returnează false,
* atunci bara laterală pur și simplu nu există, așa că vom introduce manual
* câteva widget-uri implicite pentru orice eventualitate.
*/
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( 'Arhive', '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; // sfârșitul zonei de widget-uri primary ?>
</ul>
</div><!-- #primary .widget-area -->

Bainternet
67.7K
6 mai 2011 19:18:54
Întrebări similare