php WordPress内联SVG功能

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php WordPress内联SVG功能相关的知识,希望对你有一定的参考价值。

<?php
function wp_get_svg( $path = '', $args = array() ) {
  if ( ! $path ) {
    return;
  }
  $defaults = array(
    'role' => 'image',
    'css_class' => '',
  );
  $args = wp_parse_args( $args, $defaults );
  $role_attr = $args['role'];
  $css_class = $args['css_class'];
  if ( is_array( $css_class ) ) {
    $css_class = implode( ' ', $css_class );
  }
  if ( file_exists( $path ) ) {
    $svg = file_get_contents( $path );
    $svg = preg_replace( '/(width|height)="[\d\.]+"/i', '', $svg );
    $svg = str_replace( '<svg ',
      '<svg class="' . esc_attr( $css_class ) . '" role="' . esc_attr( $role_attr ) . '" ',
      $svg );

    return $svg;
  }
}
<?php 
function wp_svg_icon( $icon = '' ) {
  if ( ! $icon ) {
    return;
  }
  $path = get_template_directory() . '/icons/' . $icon . '.svg';
  $args = array(
    'css_class' => 'icon icon-' . $icon,
  );
  return wp_get_svg( $path, $args );
}

以上是关于php WordPress内联SVG功能的主要内容,如果未能解决你的问题,请参考以下文章

php 将SVG添加到WordPress

php WordPress的SVG帮助程序函数

php 在WordPress主题中使用SVG图标

php 允许SVG通过WordPress Media Uploader

php Insertar un logo SVG animado en WordPress

如何在不引用外部 CSS 文件的情况下在 WordPress PHP 文件中创建内联 CSS?