个性化阅读
专注于IT技术分析

删除WordPress侧边栏小部件中的空标题

我已经注册了一个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 == '&nbsp;' ? '' : $title;
}
add_filter('widget_title', foo_widget_title);

将” foo”更改为适当的值。


#3


要感谢Daniel James的摘录-这很漂亮。我做了一个小改动, 将其替换为!no_display, 然后将!no_display添加到前端小部件的标题中。这对我的用户来说很清楚, 它是一个在函数中引用的钩子(不要与看似空的窗口小部件标题混淆)。


#4


编辑模板并检查标题是否存在。如果未设置标题, 请不要打印h3。


#5


注册两个侧边栏, 相同, 但使用’before_title’和’after_title’值。检查标题, 然后相应地调用一个或另一个。

赞(0)
未经允许不得转载:srcmini » 删除WordPress侧边栏小部件中的空标题

评论 抢沙发

评论前必须登录!