Wordpress 小部件:如果标题为空,则不显示 $before_title 和 $after_title

Wordpress Widget: Don't display $before_title and $after_title if title is empty

如果 wordpress 小部件标题为空白或空,则不显示包含标题的 $before_title 和 $after_title。

现在,如果标题为空,您可以以 .如果为 h2.widgettitle 设置了边距,那么您最终会得到空白 space.

实际上,如果没有小部件标题,$before_title 和 $after_title 根本不应该出现。

我可以通过更改 CSS #mytheme .widgettitle 样式来解决这个问题,但不必根据内容更改样式表。

如果您创建了一个小部件,请将 widget() 方法中显示标题的行替换为以下代码。

$title = apply_filters( 'widget_title', $instance['title'] );

if ( ! empty( $title ) ) {
  echo $args['before_title'] . $title . $args['after_title'];
}

如果您想修改 existing/default 小部件的标题,那么我建议您定义扩展现有小部件的自定义小部件。

以下应该有助于摆脱 space。我不太确定这是否可行,但请尝试将其添加到您的 functions.php 而不是您的小部件文件以应用于所有小部件。

function custom_widget_title($title) {
$title = trim($title);
return $title;
}
add_filter('widget_title', 'custom_widget_title');