'icon baseline', // or 'img logo' or something // 'svg_class' => '', // 'svg_title' => '', // 'role_img' => false, // 'aria_hidden' => true // ) /** * inline SVG function * desired SVG must exist in ./dist/images, * preferably by import in main.js and processing by webpack */ function inline_svg( $svg_name, $args = array() ) { // load args or defaults $div_class = array_key_exists( 'div_class', $args ) ? $args['div_class'] : ''; $svg_class = array_key_exists( 'svg_class', $args ) ? $args['svg_class'] : ''; $svg_title = array_key_exists( 'svg_title', $args ) ? $args['svg_title'] : ''; $svg_role_img = array_key_exists( 'svg_role_img', $args ) ? $args['svg_role_img'] : false; $svg_aria_hidden = array_key_exists( 'svg_aria_hidden', $args ) ? $args['svg_aria_hidden'] : true; // load initial svg content $svg_content = file_get_contents( get_template_directory_uri() . '/dist/images/' . $svg_name . '.svg' ); // set svg class $class_target = $svg_class == '' ? 'class="{{class-placeholder}}"' : '{{class-placeholder}}'; // replace svg class $svg_content = str_replace($class_target, $svg_class, $svg_content); // handle if role=img $svg_content = $svg_role_img ? str_replace('
' . $svg_content . '
'; // return assembled svg (or div>svg) return $svg_content; }; ?>