1

大家好,我正在为 wordpress 开发一个主题,我为动态侧边栏阅读了很多内容,但它们不适用于我的功能代码:

<?php 
if ( function_exists('dynamic_sidebar') )
    register_sidebar(array(
        'before_widget' => '<div class="wcon">',
        'after_widget' => '</div>',
        'before_title' => '<h3>',
        'after_title' => '</h3>',
    ));
?>

和我的 sidebar.php 代码:

<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar() ) : ?>
<?php endif; ?>

我正在使用以下代码获取 sidebar.php:

<?php get_sidebar(); ?>

看起来很好,但我无法向它添加小部件,在 wordpress 面板中没有链接,也没有直接访问权限。

4

3 回答 3

3

在你的functions.php中

在下面添加这个

//initialize addiional sidebars.
    if(function_exists('register_sidebar')){
        register_sidebar(
            array(
                'name' => 'second-sidebar' ,
                'id' => 'second-sidebar',
                'before_widget' => '<li class ="widget-container>"',
                'after_widget' => '</li>',
                'before_title' => '<h3 class="widget-title">',
                'after_title' => '</h3>'
            )
        );}

然后无论你希望它出现在哪里,添加这个

<?php dynamic_sidebar('second-sidebar'); ?>

然后转到您的 wordpress 后端,在小部件区域中,您会在右侧看到一个“第二侧边栏”选项卡。放入您的小部件,您应该一切顺利。

希望这可以帮助

于 2014-04-25T01:42:30.193 回答
1

试试这个:

函数.php

add_action( 'widgets_init', 'my_register_sidebars' );

function my_register_sidebars() {

register_sidebar(
    array(
        'id' => 'primary',
        'name' => __( 'Primary' ),
        'description' => __( 'Main Sidebar' ),
                    'before_widget' => '<div class="wcon">',
                    'after_widget' => '</div>',
                    'before_title' => '<h3>',
                    'after_title' => '</h3>'
    )
);
}

边栏.php

<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar() ) : ?>
    <?php dynamic_sidebar('primary'); ?>
<?php endif; ?>
于 2013-06-29T06:58:26.093 回答
0

这是一个更简单的答案:

//侧边栏php文件

<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('sidebar-name') ) : ?>
  <p>You're not using a dynamic sidebar</p>
<?php endif; ?>

//functions.php

if ( function_exists('register_sidebar') )
  register_sidebar(array(
    'name'=>'sidebar-name',
    'before_widget' => '<div class="your-class">',
    'after_widget' => '</div>',
    'before_title' => '<h2>', //h3, h4, h5, whatever size header you prefer
    'after_title' => '</h2>',
  ));
于 2017-12-14T02:34:30.900 回答