我想引入一个动态的侧边栏。我在小部件侧边栏中有1个文本项,但我不想在小部件中引入标题(只是正文)。谁能告诉我WordPress在标题中的位置?
e.g。目前我有......
// 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.
}
答案 0 :(得分:30)
小部件总是在标题名称'widget_title'上应用过滤器,使用它。
add_filter('widget_title','my_widget_title');
function my_widget_title($t)
{
return null;
}
<强>感谢强>
<强> -Shak 强>
答案 1 :(得分:8)
您可以尝试此操作(functions.php
内的register_sidebar
)
'before_title' => '<span class="hidden">',
'after_title' => '</span>',
和Css
.hidden{display:none;}
您也可以尝试this。
答案 2 :(得分:2)
这些标题可能对CMS用户有用,因此您可以在register_sidebar
中放一些东西。就像我在下面的代码中所做的那样(在Wordpress 5.0.3中有效)。现在小部件标题在html注释中,对我来说似乎没问题
register_sidebar( array(
'name' => esc_html__( 'Contact page widgets', 'xxx' ),
'id' => 'sidebar-3',
'description' => esc_html__( 'Add widgets here to appear on contact page.', 'xxx' ),
'before_widget' => '<div id="%1$s" class="widget %2$s">',
'after_widget' => '</div>',
'before_title' => '<!-- ',
'after_title' => ' -->',
) );
答案 3 :(得分:1)
或者你可以通过在函数中执行此操作来使其更简单:
'before_title' => '<span style="display: none;">',
'after_title' => '</span>',
答案 4 :(得分:0)
你不能只在小部件标题的css中做display: none;
吗?
答案 5 :(得分:0)
您使用的小部件是否有标题字段?
您可以尝试将
放在那里,这样您就可以获得标题的空间。
虽然不是最优雅的解决方案。
答案 6 :(得分:0)
请将此代码放在functions.php文件中。
add_filter( 'widget_title', 'remove_widget_title' );
function remove_widget_title( $widget_title ) {
return $widget_title == ' ' ? '' : $widget_title;
}