我正在为WordPress编写php中的插件,用于管理小部件,它们在页面中的位置以及应该在哪个页面中显示。我遇到了问题,因为我无法激活侧边栏,我也不知道为什么。我发布了代码,看是否有不对的地方,您可以帮助我。从理论上讲,第一个文件是functions.php,应该注册侧栏。
require_once('widgets.php');
function my_register_sidebars(){
// Register the 'primary' sidebar.
register_sidebar(
array(
'id' => 'primary',
'name' => __('Primary Sidebar'),
'description' => __('A short description of the sidebar.'),
'before_widget' => '<div id="%1$s" class="widget %2$s">',
'after_widget' => '</div>',
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>',
)
);
register_sidebar(
array(
'id' => 'adios',
'name' => __('adios'),
'description' => __('A short description of the sidebar.'),
'before_widget' => '<div id="%1$s" class="widget %2$s">',
'after_widget' => '</div>',
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>',
)
);
}
add_action('widgets_init', 'my_register_sidebars');
经过一系列的尝试,我还看到add_action没有完成他的工作,您对此有答案吗? 之后,我实例化了一个新文件(sidebar.php)以调用边栏。
<?php
if (is_active_sidebar('primary')) : ?>
<aside id="secondary" class="sidebar widget-area" role="complementary" style="background-color = 'black';">
<?php dynamic_sidebar('primary'); ?>
</aside><!-- .sidebar .widget-area -->
<?php endif; ?>
最后调用侧边栏我使用get_sidebar(); 但我无法显示侧边栏,而且似乎还没有激活。 您是否对如何将小部件添加到此“激活的”侧边栏有想法? 谢谢您的帮助。
答案 0 :(得分:0)
在您的function.php中使用此代码
function my_custom_sidebar() {
register_sidebar(
array (
'name' => __( 'Custom', 'your-theme-domain' ),
'id' => 'custom-side-bar',
'description' => __( 'Custom Sidebar', 'your-theme-domain' ),
'before_widget' => '<div class="widget-content">',
'after_widget' => "</div>",
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>',
)
);} add_action( 'widgets_init', 'my_custom_sidebar' );
并将此代码放入您的模板文件
<?php if ( is_active_sidebar( 'custom-side-bar' ) ) : ?>
<?php dynamic_sidebar( 'custom-side-bar' ); ?>
尝试此代码