在自定义主题开发中,如何启用默认的内置小部件?注意,我指的是默认的内置小部件,而不是自定义小部件。我尝试了以下WP 3.12博客的示例,将其放置在我的主题函数中。php文件,尝试在默认情况下激活页面。它不起作用,但我不知道为什么。
function mytheme_widget_init(){
$asOps = array(
\'classname\' => \'widget_pages\',
\'description\' => __( "")
);
wp_register_sidebar_widget(\'pages\', __(\'Pages\'), \'wp_widget_pages\', $asOps);
}
add_action(\'widgets_init\',\'mytheme_widget_init\');
我做错了什么?
EDIT: THE SOLUTION
在我的主题中,我需要重新编辑侧边栏。并改用此标记。
<?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>\' . __(\'Categories\') . \'</h2>\' ); ?>
</li>
<li id="archives" class="widget-container widget_archives">
<h2 class="widget-title">Archives</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>\' . __(\'Pages\') . \'</h2>\'); ?>
</ul>
</li>
<?php endif; ?>
</ul>
</div><!-- sidebar -->
最合适的回答,由SO网友:Bainternet 整理而成
不是这样的,wp_register_sidebar_widget
用于创建小部件。如果希望侧栏在默认情况下显示小部件,请使用[dynamic_sidebar()][1]
在您的主题中,例如2010年主题:
<div id="primary" class="widget-area" role="complementary">
<ul class="xoxo">
<?php
/* When we call the dynamic_sidebar() function, it\'ll spit out
* the widgets for that widget area. If it instead returns false,
* then the sidebar simply doesn\'t exist, so we\'ll hard-code in
* some default sidebar stuff just in case.
*/
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( \'Archives\', \'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; // end primary widget area ?>
</ul>
</div><!-- #primary .widget-area -->