2012-02-24 42 views
9

我想拉动一个动态边栏。我在窗口小部件边栏中有1个文本项,但我不想在窗口小部件中插入标题(只是正文)。任何人都可以告诉我WordPress在标题中的位置?没有标题的WordPress动态边栏

例如目前,我有...

// In my page template... 
<div id='advert-header'>   
    <?php dynamic_sidebar('Header Advert'); ?> 
</div> 

// In functions.php... 
function twentyten_widgets_init() { 
    register_sidebar(array(
     'name' => __('Header Advert', 'twentyten'), 
     'id' => 'primary-widget-area', 
     'description' => __('The primary widget area', 'twentyten'), 
     'before_widget' => '', 
     'after_widget' => '', 
     'before_title' => '', 
     'after_title' => '', 
    )); 
// etc. 
} 

回答

3

你可以试试这个(在functions.phpregister_sidebar

'before_title' => '<span class="hidden">', 
'after_title' => '</span>', 

和CSS

.hidden{display:none;} 

您也可以尝试this

+0

嗯我无法找到该代码在我的WordPress.org安装。也许这是一个核心文件? – SparrwHawk 2012-02-24 10:19:38

+1

如果这是一个核心文件,我宁愿不去碰它,但谢谢你的建议。目前,结论是使用你的span class ='hidden'建议,我只是想知道是否有更多的语义方式可以控制它。 – SparrwHawk 2012-02-24 10:33:04

+1

这是一个肮脏的解决方案,你隐藏标题,而不是删除它。应该使用 过滤器来获得干净的html代码。 – 2014-01-18 16:37:13

0

难道你只是做display: none;在小部件标题的CSS?

+0

我可以做到这一点,但我宁愿不打印文本出于SEO的目的真的。我确实意识到这将是简单的出路,但:-) – SparrwHawk 2012-02-24 10:10:16

0

是否存在您正在使用的小部件的标题字段? 您可以尝试将&nbsp;放在那里,这样您就可以获得标题空间。 虽然不是最优雅的解决方案。

18

控件总是在标题名称'widget_title'上应用一个过滤器,使用它。

add_filter('widget_title','my_widget_title'); 
function my_widget_title($t) 
{ 

    return null; 
} 

感谢

-Shak

+1

这是正确的答案,让我们看看我们是否无法得到接受的答案修改... – lol 2014-02-22 22:51:53

+0

不知道是否随着更高版本的WordPress有所改变,但我将这段代码放在'functions.php'中,标题字段仍然显示在仪表板小部件中。或者这段代码是否应该做其他事情? – J82 2014-07-07 23:13:15

1

或者您也可以通过函数这样做使它更加简单:

'before_title' => '<span style="display: none;">', 
'after_title' => '</span>',