我正在开发WordPress自定义主题:http://onofri.org/WP_BootStrap 我正在尝试插入一个widget area 在Partner e Sostenitori 部分,但无法工作。
我执行了以下操作:
1) 我已将以下代码放入functions.php 主题文件:
/**
* 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\');
如您所见,widgetized区域的名称为
My_Widgtet_Area2) 然后,我将以下代码插入到index.php 文件以在所需位置显示小部件:
<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)然后我进入WP管理面板并进入
Appearance ---> Widget 第一节
My_Widget_Area “框”,在这里我可以拖动wordpress安装中的小部件。所以我在里面放了一些小部件(如
Calendar 以及
Search wigets)尝试一下
问题是,正如您在前面的链接中所看到的那样Partner e Sostenitori 文本已写入,但我的页面中没有显示小部件。
为什么?我错过了什么?我如何解决这个问题?
Tnx公司
安德烈
最合适的回答,由SO网友:Brad Dalton 整理而成
您使用的是小部件名称,而不是ID,这就是它不起作用的原因。
更改此项:
if (is_active_sidebar( \'My_Widgtet_Area\' ) ) : ?>
<div id="widget-sidebar">
<ul>
<?php dynamic_sidebar( \'My_Widgtet_Area\' ); ?>
</ul>
对此:
if (is_active_sidebar( \'partner-slide\' ) ) : ?>
<div id="widget-sidebar">
<ul>
<?php dynamic_sidebar( \'partner-slide\' ); ?>
</ul>
上面模板标签中的i.d应该与您在函数文件中注册小部件时使用的i.d匹配,在这种情况下
partner-slide
register_sidebar(array(
\'name\' => \'My Widget Area\',
\'id\' => \'partner-slide\',
这是一个明显的问题,可能还有其他问题,但是您应该遵循Codex,因为它提供了相关链接的工作示例
http://codex.wordpress.org/Function_Reference/dynamic_sidebar