Categorias: Code WooCommerce

Pegar a ID de um vídeo no YouTube ou Vimeo, no WordPress

Função para pegar a ID de um vídeo no YouTube ou Vimeo, usando apenas a URL da página do vídeo.

/**
 * get youtube or vimeo video id from URL
 * @author Difluir
 * @link https://code.difluir.com/
 */
function difluir_get_youtube_vimeo_video_id( $url ) {
    if ( ! isset($url) or empty($url) ) {
        return;
    }

    $output = array();

    $url = esc_url( $url );

    if ( strpos($url,'youtube') !== false ) {
        $url_components = parse_url( $url );
        parse_str( $url_components['query'], $params );
        if ( isset($params['v']) && !empty($params['v']) ) {
            $output['youtube'] = $params['v'];
        }
    }
    elseif ( strpos($url,'vimeo') !== false ) {
        $url = esc_url( $url );
        $url = trim( $url );
        $video_id = str_replace( array( 'https://', 'http://', 'player.vimeo.com/video/', 'vimeo.com/'), '', $url );
        $output['vimeo'] = $video_id;
    }

    return $output;
}

Usando a função:

$video_url = 'https://www.youtube.com/watch?v=ibWbJHLu7IY';
$video_id  = difluir_get_youtube_vimeo_video_id( $video_url );

if ( isset($video_id['youtube']) && !empty($video_id['youtube']) ) {
	echo 'youtube video id: '.$video_id['youtube'];
} elseif ( isset($video_id['vimeo']) && !empty($video_id['vimeo']) ) {
	echo 'vimeo video id: '.$video_id['vimeo'];
}