2019主题使用内嵌SVG作为图标,而不是图标字体。图标将添加到HTML代码中TwentyNineteen_SVG_Icons::get_svg()
作用
public static function get_svg( $group, $icon, $size ) {
if ( \'ui\' == $group ) {
$arr = self::$ui_icons;
} elseif ( \'social\' == $group ) {
$arr = self::$social_icons;
} else {
$arr = array();
}
if ( array_key_exists( $icon, $arr ) ) {
$repl = sprintf( \'<svg class="svg-icon" width="%d" height="%d" aria-hidden="true" role="img" focusable="false" \', $size, $size );
$svg = preg_replace( \'/^<svg /\', $repl, trim( $arr[ $icon ] ) ); // Add extra attributes to SVG code.
$svg = preg_replace( "/([\\n\\t]+)/", \' \', $svg ); // Remove newlines & tabs.
$svg = preg_replace( \'/>\\s*</\', \'><\', $svg ); // Remove white space between SVG tags.
return $svg;
}
return null;
}
当主题使用图标字体时,在子主题中只需几行CSS代码就可以非常容易地将一个图标替换为另一个图标。似乎现在有了SVG图标,只需添加或交换一个图标,就必须重写或重写PHP函数。我错了吗?在二十一主题的子主题中,是否有一种简单的方法可以将一个SVG图标替换为另一个SVG图标?