WordPress функции

Подскажите пожалуqста как можно сделать так чтоб функция понимала что нужно ставить svg а не img формат картинки если она svg. Ну и если она img или png ставила их в тег img.

<?php
function show_custom_logo( $size = 'medium' ) {
    if ( $custom_logo_id = get_theme_mod( 'custom_logo' ) ) {
        if (svg){
            display_svg(get_attached_img_url( $custom_logo_id));
        }else{
            $logo_image = wp_get_attachment_image( $custom_logo_id, $size, false, array(
                'class'    => 'custom-logo skip-lazy',
                'itemprop' => 'siteLogo',
                'alt'      => get_bloginfo( 'name' ),
            ) );
        }
    } else {
        $logo_url   = get_stylesheet_directory_uri() . '/assets/images/custom-logo.png';
        $w          = 200;
        $h          = 160;
        $logo_image = '<img src="' . $logo_url . '" width="' . $w . '" height="' . $h . '" class="custom-logo" itemprop="siteLogo" alt="' . get_bloginfo( 'name' ) . '">';
    }

    $html = sprintf( '<a href="%1$s" class="custom-logo-link" rel="home" title="%2$s" itemscope>%3$s</a>', esc_url( home_url( '/' ) ), get_bloginfo( 'name' ), $logo_image );
    echo apply_filters( 'get_custom_logo', $html );
}

Ответы (1 шт):

Автор решения: alenkins

Воспользуйтесь функцией wp_check_filetype Например:

<?php
$logo_url = get_attached_img_url( $custom_logo_id);
$file_type = wp_check_filetype($logo_url);

if ($file_type['ext'] === 'svg') {
  //...
} else {
  //..
}

?>
→ Ссылка