Estou desenvolvendo este tema personalizado do WordPress: http://onofri.org/WP_BootStrap e estou tentando inserir uma área de widgetsob o Partner e Sostenitori section, mas não pode funcionar.
Eu realizei as seguintes operações:
1) Eu coloquei o seguinte código no arquivo functions.php theme:
/**
* Register our sidebars and widgetized areas.
*
*/
function arphabet_widgets_init() {
register_sidebar(array(
'name' => 'My_Widgtet_Area',
'id' => 'partner-slide',
'before_widget' => '<div>',
'after_widget' => '</div>',
'before_title' => '<h2 class="rounded">',
'after_title' => '</h2>',
));
}
add_action('widgets_init', 'arphabet_widgets_init');
Como você pode ver o nome da área widgetized é My_Widgtet_Area
2) Depois eu insiro o seguinte código no meu arquivo index.php para mostrar os widgets nas posições desejadas:
<section id="partnerSlide">
<header class="header-sezione">
<h2>Partner e Sostenitori</h2>
</header>
<div class="row">
<?php
// 'My_Widgtet_Area' area, where the id is called:
if (is_active_sidebar( 'My_Widgtet_Area' ) ) : ?>
<div id="widget-sidebar">
<ul>
<?php dynamic_sidebar( 'My_Widgtet_Area' ); ?>
</ul>
</div><!-- #widget-sidebar .widget-area -->
<?php endif; ?>
</div>
</section>
3) Então eu entrei no painel de administração WP e no Appearance ---> Widget section eu tenho o My_Widget_Area "box" onde eu posso arrastar o widgets na minha instalação wordpress. Então eu coloquei nele algum widget (como o Calendar e o Search wigets) para experimentá-lo
O problema é que, como você pode ver no link anterior, o Partner e Sostenitori text está escrito, mas não há nenhum widget exibido na minha página.
Por quê? o que estou perdendo? Como posso resolver este problema?
Tnx
Andrea
Você está usando o nome do widget e não o i.d, e é por isso que não está funcionando.
Mude isso:
if (is_active_sidebar( 'My_Widgtet_Area' ) ) : ?>
<div id="widget-sidebar">
<ul>
<?php dynamic_sidebar( 'My_Widgtet_Area' ); ?>
</ul>
Para isso:
if (is_active_sidebar( 'partner-slide' ) ) : ?>
<div id="widget-sidebar">
<ul>
<?php dynamic_sidebar( 'partner-slide' ); ?>
</ul>
O i.d na tag template imediatamente acima deve corresponder ao i.d que você usa para registrar o widget no seu arquivo de funções, que neste caso é partner-slide
register_sidebar(array(
'name' => 'My Widget Area',
'id' => 'partner-slide',
Esse é um problema óbvio e pode haver outros, mas você deve seguir o Codex, pois fornece exemplos de trabalho com links relacionados http://codex.wordpress.org/Function_Reference/dynamic_sidebar