允许在小部件标题中使用不同的标记

时间:2014-06-19 作者:okiedokey

如何使小部件标题允许HTML?我想在标题中添加图标,如

<span class="icon-someicon">Widget Title Here</span> 
我尝试了以下方法,但根本不起作用。。。

function html_widget_title( $title ) {
    $title = str_replace( \'[\', \'<\', $title );
    $title = str_replace( \'[/\', \'</\', $title );

    $title = str_replace( \'s]\', \'span>\', $title );

    return $title;
}
add_filter( \'widget_title\', \'html_widget_title\' );

4 个回复
最合适的回答,由SO网友:okiedokey 整理而成

哎呀,我知道怎么做了——再简单不过了。更多信息:我使用fontello创建了自己的iconfont,并将其添加到我的WordPress主题中。这就是为什么font-family 在我下面的片段中是fontello。

我查找了小部件标题的CSS路径(即。.widget-3 > h3.widget-title), 已添加:before 在CSS中,在我的fontello中查找图标(在本例中为805)。css文件,并添加了以下css规则:

.widget-3 > h3.widget-title:before {
    content: \'\\e805\';
    margin-right: 0.5em;
    font-family: "fontello";
}

SO网友:Nilambar Sharma

我不明白你在函数中做什么。请参见下面的示例如何将标题包装到html标记中:

function html_widget_title( $title ) {
  $output = \'<span class="icon-someicon">\';
  $output .= $title;
  $output .= \'</span>\';
  return $output;
}
add_filter( \'widget_title\', \'html_widget_title\' );

SO网友:Aibrean

最好的方法是使用寄存器边栏数组。您需要重复并更改所需其他小部件的名称/id和图标。

register_sidebar( array(
    \'name\' => \'Widget Name\',
    \'id\' => \'widget_name\',
    \'before_widget\' => \'<div>\',
    \'after_widget\' => \'</div>\',
    \'before_title\' => \'<span class="icon-someicon">\',
    \'after_title\' => \'</span>\',
) );
如果您需要能够在管理区域中唯一地编辑每个小部件标题上的HTML,请尝试您所说的不起作用的代码。您需要像使用短代码一样使用它,而不是HTML(它将解析为HTML)。

所以试着去做[span class="icon-iconname]Title[/span]

看见Custom title widget / HTML encoding 另一种选择。

SO网友:Nand Lal

这在WordPress 4.5.2上测试过,对我来说很有用

function nand_filter_widget_titles($title) {
    if ( $title != \'\') {
            $title = \'<span class="icon-someicon">\' . $title . \'</span>\';
    }

     return $title;
}
add_filter( \'widget_title\', \'nand_filter_widget_titles\' );

结束

相关推荐

Page full of widgets?

有没有可能创建一个只有很多小部件的页面?我看到的大多数WP站点的小部件都在侧边栏中,但我想要一个只有小部件而没有其他内容的页面。我当前使用的主题允许我向页面添加列或表,但我不知道(在任何主题中)是否可以向这些列或表单元格添加小部件?