实际上,所有html都是通过wp_widget_control
功能:
$widget_title = esc_html( strip_tags( $sidebar_args[\'widget_name\'] ) );
现在,没有明显的方法来拦截
strip_tags
, 因为它是一个php函数,但是
esc_html
是一个具有过滤器的WP函数。因此,我们无法阻止图标/html被剥离,但我们可以使用过滤器将其重新添加。像这样:
add_filter (\'esc_html\',\'wpse243718_add_icon_to_widget_name\');
function wpse243718_add_icon_to_widget_name ($safe_text) {
global $theme_icon;
global $theme_name;
global $pagenow;
if ( ($pagenow == \'widgets.php\') && (substr($safe_text, 0, strlen($theme_name)) == $theme_name) )
return $theme_icon . \' \' . $safe_text;
else
return $safe_text;
}
此代码假定小部件名称以开头
$theme_name
, 当然,您也可以使用其他检测方法,或者用各种html填充标题。