为什么我的wordpress插件没有显示侧边栏?

时间:2018-11-29 11:41:54

标签: php wordpress

我正在为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(); 但我无法显示侧边栏,而且似乎还没有激活。 您是否对如何将小部件添加到此“激活的”侧边栏有想法? 谢谢您的帮助。

1 个答案:

答案 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' ); ?>

尝试此代码