删除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【删除WordPress侧边栏小部件中的空标题】注册两个侧边栏, 相同, 但使用’ before_title’ 和’ after_title’ 值。检查标题, 然后相应地调用一个或另一个。

    推荐阅读