register_sidebar不显示具有特定ID的窗口小部件

时间:2017-08-08 12:36:14

标签: wordpress

我已在functions.php footer-ads站点栏中注册:

register_sidebar(array( 'name' => 'Footer Ads','id' => 'footer-ads', 'description' => "Footer ads area", 'before_widget' => '<div id="%1$s" class="widget %2$s">','after_widget' => '</div>','before_title' => '<h3 class="group"><span>','after_title' => '</span></h3>')); 

如果我进入Dashboard -> Appearance -> Widget,则不显示侧边栏,但如果我将ID更改为footer-ads-0,我可以看到显示的网站栏,为什么会这样?

2 个答案:

答案 0 :(得分:0)

尝试在注册边栏之前取消设置ID:unregister_sidebar('footer-ads');

add_action( 'after_setup_theme', 'add_footer_sidebar' );
function add_footer_sidebar() {

    unregister_sidebar('footer-ads'); 
    /** I have looked for the ID of the sidebar by looking at        
     *  the source code in the admin.. and saw the widget's id="footer-ads"
     */ 
    register_sidebar(array( 'name' => 'Footer Ads','id' => 'footer-ads', 'description' => "Footer ads area", 'before_widget' => '<div id="%1$s" class="widget %2$s">','after_widget' => '</div>','before_title' => '<h3 class="group"><span>','after_title' => '</span></h3>')); 
}

答案 1 :(得分:0)

好的我发现了问题,我的php代码注册中没有错误,我想知道为什么将id从footer-ads更改为其他任何内容都会有效。

问题是由AdBlock和相关插件引起的,这些插件会杀死插入html结构内部的广告,而某些css会移除footer-ads,现在网站栏工作正常。