如何在WordPress中的自定义主题中添加小部件?

时间:2012-12-15 08:37:23

标签: wordpress-plugin wordpress-theming wordpress

所以问题是这样的。我开始学习WordPress了。现在,我遇到了一个非常酷的插件(http://wordpress.org/extend/plugins/wp-tagcanvas/)。现在,当我使用内置主题并激活插件时,我可以在侧边栏上看到它。一直都好到这里。现在,我试着拥有自己的自定义主题。据我所知,二十一个侧边栏上的所有小部件都是由于许多模板文件中的一个函数调用而出现的。所以我破译我需要在我的sidebar.php中进行类似的调用。

<?php if ( is_active_sidebar( 'sidebar-1' ) ) : ?>
<div id="first" class="widget-area" role="complementary">

现在,“搜索”小部件出现在我的侧边栏中。与此同时,我看到一个标题“标签云”,然后什么都没有。然而,如果我使用Twenty-11主题,我会得到一个功能齐全的3D云小部件。

我已经浏览了插件的readme.txt文件。我正确地遵循了那里的指示,因为我能够在二十一个主题中看到云小部件。

任何人都可以帮助我解决我在这里做错的事情,或者我错过了什么。

我的另一个问题是如何使用其索引显示窗口小部件。 我写了这些文字:

<?php $the_sidebars = wp_get_sidebars_widgets();
print_r( $the_sidebars); ?>

给出以下输出:

Array ( [wp_inactive_widgets] => Array ( [0] => calendar-2 [1] => search-3 ) [sidebar-1] => Array ( [0] => search-2 [1] => tag-cloud-html5 ) [sidebar-2] => Array ( ) [sidebar-3] => Array ( ) [sidebar-4] => Array ( [0] => rss-2 ) [sidebar-5] => Array ( ) ) 

所以,如果我需要显示,在某个地方说rss小部件,我该如何使用它的索引呢? 在此先感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

显然,我终于明白了。

问题是我错过了在我的文件中调用 wp_head 操作。此插件已在 wp_head 操作中激活。由于没有为我的主题调用该操作,因此该插件未注册且未显示。另一方面,像所有其他好主题一样,二十一个主题是调用wp_head,因此当主题被激活时,云就会显示出来。

关于索引的调用,我在其他论坛中发现the_widget函数需要将widget名称作为参数传递。所以这不适用于索引。 如果有人发现,请告诉我。

所以,将这个问题标记为已解决。