Embarquer des vidéos Facebook sous WordPress

WordPress supporte nativement de nombreux services tiers via la technologie oEmbed. Concrètement, un simple copier / coller d'un lien dans votre corps de texte affichera automatiquement le contenu distant (vidéo YouTube, tweet, présentation SlideShare et bien plus encore). Cependant, l'insertion de vidéo Facebook n'est pas encore supportée et le sera vraisemblablement dans la 4.7. En attendant, il existe un bout de code pour en activer la prise en charge en attendant son implémentation définitive.

Vous pouvez télécharger le code ci-dessous et l’envoyer comme extension dans votre dossier /wp-content/plugins/ à l’aide d’un client FTP.

<?php
/**
 * Plugin Name: Facebook oEmbed
 * Version: 1.1.1
 * Author: khromov
 * License: GPL2+
 *
 * @package WP Facebook oEmbed
 */

/**
 * Add oEmbed support for multiple Facebook post formats.
 *
 * @see https://core.trac.wordpress.org/ticket/34737 for more information.
 *
 * @since 1.0
 */
function khromov_wp_facebook_oembed() {

	$endpoints = array(
		'#https?://www\.facebook\.com/video.php.*#i'      => 'https://www.facebook.com/plugins/video/oembed.json/',
		'#https?://www\.facebook\.com/.*/videos/.*#i'     => 'https://www.facebook.com/plugins/video/oembed.json/',
		'#https?://www\.facebook\.com/.*/posts/.*#i'      => 'https://www.facebook.com/plugins/post/oembed.json/',
		'#https?://www\.facebook\.com/.*/activity/.*#i'   => 'https://www.facebook.com/plugins/post/oembed.json/',
		'#https?://www\.facebook\.com/photo(s/|.php).*#i' => 'https://www.facebook.com/plugins/post/oembed.json/',
		'#https?://www\.facebook\.com/permalink.php.*#i'  => 'https://www.facebook.com/plugins/post/oembed.json/',
		'#https?://www\.facebook\.com/media/.*#i'         => 'https://www.facebook.com/plugins/post/oembed.json/',
		'#https?://www\.facebook\.com/questions/.*#i'     => 'https://www.facebook.com/plugins/post/oembed.json/',
		'#https?://www\.facebook\.com/notes/.*#i'         => 'https://www.facebook.com/plugins/post/oembed.json/',
	);

	foreach ( $endpoints as $pattern => $endpoint ) {
		wp_oembed_add_provider( $pattern, $endpoint, true );
	}
}
add_action( 'init', 'khromov_wp_facebook_oembed' );

Une fois l’extension activée, il vous suffit de copier une URL d’une vidéo Facebook dans votre éditeur WordPress. Le lecteur vidéo s’affichera automatiquement comme par magie !

Petite astuce complémentaire, utilisez le script FitVids.js pour des vidéos parfaitement responsive design !

5 commentaires
  1. Super merci ça marche ! voila un petit bout de code qui va me rendre service !

  2. Petite remarque pour ceux qui tournent encore sur de très vieux serveurs avec PHP 5.2 : n’utilisez pas ce bout de code, vous créérez une erreur fatale sur votre site.

    @Aurélien Pour éviter les problèmes de compatibilité, peut-être pourrais-tu mettre le snippet à jour pour ne pas utiliser de fonction anonyme ?

    1. Aurélien Denis auteur de l’article

      C’est un code GitHub, tu peux soumettre ton amélioration à son auteur je pense ?

      C’est vrai que 5.2 il en reste encore…

Les commentaires sont fermés.