我已经注册了一个wordpress侧边栏, 如下所示:
register_sidebar( array(
'name' => __( 'First Sidebar', 'theme_name' ), 'id' => 'primary-widget-area', 'description' => __( 'The primary widget area', 'theme_name' ), 'before_widget' => '<li id="%1$s" class="widget-container %2$s">', 'after_widget' => '</li>', 'before_title' => '<h3 class="widget-title">', 'after_title' => '</h3>', ) );
问题在于, 当标题为空时, 仍会渲染h3。标题留空时, 是否可以删除这些内容?
#1
打印before_title和after_title是由小部件自身在功能小部件($ args, $ instance)中完成的。所有默认的wordpress 3.1小部件都会在解析before_title和after_title之前检查标题是否为空, 但是我猜你使用的是主题或插件自定义的小部件, 在这种情况下, 你必须调整小部件($ args, $ instance)代码。
#2
这只是Mark答案的一小部分。如果标题为空, 则默认日历小部件将使用, 因此它仍显示一个空标题。我通过将其添加到主题的functions.php中来解决此问题:
function foo_widget_title($title)
{
return $title == ' ' ? '' : $title;
}
add_filter('widget_title', foo_widget_title);
将” foo”更改为适当的值。
#3
要感谢Daniel James的摘录-这很漂亮。我做了一个小改动, 将其替换为!no_display, 然后将!no_display添加到前端小部件的标题中。这对我的用户来说很清楚, 它是一个在函数中引用的钩子(不要与看似空的窗口小部件标题混淆)。
#4
编辑模板并检查标题是否存在。如果未设置标题, 请不要打印h3。
#5
注册两个侧边栏, 相同, 但使用’before_title’和’after_title’值。检查标题, 然后相应地调用一个或另一个。
评论前必须登录!
注册