Php 空白小部件-自定义侧栏

Php 空白小部件-自定义侧栏,php,wordpress,Php,Wordpress,我在WordPress上为自定义主页创建了一系列新的侧栏。保存每一个后,它们工作并继续工作。一旦我返回到管理区域中的小部件区域,只有那些小部件是空白的,它们就会从主页上消失。下面的Functions.php代码用于添加的侧栏 // Widgetized Header if ( function_exists('register_sidebar') ) { register_sidebar(array( 'name' => 'Header', 'id

我在WordPress上为自定义主页创建了一系列新的侧栏。保存每一个后,它们工作并继续工作。一旦我返回到管理区域中的小部件区域,只有那些小部件是空白的,它们就会从主页上消失。下面的Functions.php代码用于添加的侧栏

// Widgetized Header

if ( function_exists('register_sidebar') ) {
    register_sidebar(array(
        'name' => 'Header',
        'id' => 'Header',
        'description' => 'Header Sidebar for Search',
        'before_widget' => '<ul class="right"><li class="has-form">',
        'after_widget' => '</li></ul>',
        'before_title' => '<h4>',
        'after_title' => '</h4>',
    ));
}

// Homepage Sidebar for Mailchimp
if ( function_exists('register_sidebar') ) {
    register_sidebar(array(
        'name' => 'Homepage Mailchimp Widget',
        'id' => 'HomeWidget1',
        'description' => 'Homepage mailchimp area',
        'before_widget' => '<ul class="home-widget"><li class="has-form">',
        'after_widget' => '</li></ul>',
        'before_title' => '<h4>',
        'after_title' => '</h4>',
    ));
}

// Homepage Sidebar for Twitter
if ( function_exists('register_sidebar') ) {
    register_sidebar(array(
        'name' => 'Homepage Twitter Widget',
        'id' => 'HomeWidget2',
        'description' => 'Homepage twitter area',
        'before_widget' => '<ul class="home-widget"><li>',
        'after_widget' => '</li></ul>',
        'before_title' => '<h4>',
        'after_title' => '</h4>',
    ));
}

// Homepage Sidebar for Promo Ad
if ( function_exists('register_sidebar') ) {
    register_sidebar(array(
        'name' => 'Homepage Promo Ad',
        'id' => 'HomeWidget5',
        'description' => 'Homepage Promo Ad',
        'before_widget' => '<ul class="home-widget">',
        'after_widget' => '</ul>',
    ));
}

// Homepage Sidebar for Archives
if ( function_exists('register_sidebar') ) {
    register_sidebar(array(
        'name' => 'Homepage Archive Widget',
        'id' => 'HomeWidget3',
        'description' => 'Homepage Widget for Archives',
        'before_widget' => '<ul class="home-widget"><li class="has-form">',
        'after_widget' => '</li></ul>',
        'before_title' => '<h4>',
        'after_title' => '</h4>',
    ));
}


// Homepage Sidebar for Archives
if ( function_exists('register_sidebar') ) {
    register_sidebar(array(
        'name' => 'Homepage Social Widget',
        'id' => 'HomeWidget4',
        'description' => 'Homepage Widget for Social Nav',
        'before_widget' => '<ul class="home-widget"><li>',
        'after_widget' => '</li></ul>',
        'before_title' => '<h4>',
        'after_title' => '</h4>',
    ));
}
//Widgetized头
如果(函数_存在('register_边栏')){
寄存器侧栏(数组)(
“名称”=>“标题”,
'id'=>'Header',
'说明'=>'用于搜索的标题侧栏',
'在widget'=>'之前,
  • , '在小部件'=>'之后
', “在标题“=>”之前, “在标题“=>”之后, )); } //Mailchimp主页侧栏 如果(函数_存在('register_边栏')){ 寄存器侧栏(数组)( “名称”=>“主页Mailchimp小部件”, 'id'=>'HomeWidget1', 'description'=>'主页mailchimp区域', “在widget'=>”
  • ”之前, '在小部件'=>'之后
', “在标题“=>”之前, “在标题“=>”之后, )); } //Twitter主页侧边栏 如果(函数_存在('register_边栏')){ 寄存器侧栏(数组)( “名称”=>“主页推特小部件”, 'id'=>'HomeWidget2', '说明'=>'主页推特区域', 'before_widget'=>'
  • , '在小部件'=>'之后
', “在标题“=>”之前, “在标题“=>”之后, )); } //促销广告的主页侧边栏 如果(函数_存在('register_边栏')){ 寄存器侧栏(数组)( '名称'=>'主页促销广告', 'id'=>'HomeWidget5', '说明'=>'主页促销广告', 'before_widget'=>'
    ', 'after_widget'=>'
', )); } //档案主页侧边栏 如果(函数_存在('register_边栏')){ 寄存器侧栏(数组)( “名称”=>“主页存档小部件”, “id'=>“HomeWidget3”, 'description'=>'存档主页小部件', “在widget'=>”
  • ”之前, '在小部件'=>'之后
', “在标题“=>”之前, “在标题“=>”之后, )); } //档案主页侧边栏 如果(函数_存在('register_边栏')){ 寄存器侧栏(数组)( “名称”=>“主页社交小部件”, 'id'=>'HomeWidget4', 'description'=>'社交导航主页小部件', 'before_widget'=>'
  • , '在小部件'=>'之后
', “在标题“=>”之前, “在标题“=>”之后, )); }
有一些因素可能会导致该问题

1) 这里不需要将register_sidebar()包装在条件中。这是WordPress的核心功能,所以不会有任何进展。这很好:

 register_sidebar(array(
    'name' => 'Homepage Twitter Widget',
    'id' => 'HomeWidget2',
    'description' => 'Homepage twitter area',
    'before_widget' => '<ul class="home-widget"><li>',
    'after_widget' => '</li></ul>',
    'before_title' => '<h4>',
    'after_title' => '</h4>',
));
}


add_action('widgets_init','myPrefix_widgets_init')//您是否已将每个小部件的
添加到主页?是。他们工作。实际的窗口小部件区域变为黑色。默认的侧边栏仍然充满了小部件。检查页面的来源,看看内容是否确实在那里,但颜色与背景相同?这就是问题所在-当我回到小部件页面时,它们不见了,也从主页上消失了。如果我再也不返回widget页面,它们就可以了,并且仍然在主页上。奇怪。您使用if语句而不是在
twentyiven\u widgets\u init()
函数中添加register\u侧栏有什么特别的原因吗?谢谢!我将给出一个goI,我尝试了这两种方法,当我刷新窗口小部件页面时,新的边栏将变为空白。
function myPrefix_widgets_init() {
        register_sidebar(array(
                'name' => 'Homepage Mailchimp Widget',
                'id' => 'HomeWidget1',
                'description' => 'Homepage mailchimp area',
                'before_widget' => '<ul class="home-widget"><li class="has-form">',
                'after_widget' => '</li></ul>',
                'before_title' => '<h4>',
                'after_title' => '</h4>',
));
// Register the rest of the widgets here.
add_action( 'widgets_init', 'myPrefix_widgets_init' ); //<-- This is the action hook