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 !

Par Aurélien Denis

Another WordPress fanboy. Fondateur de WordPress Channel et WP Alacarte, président de l'association WordPress Francophone (2016-2017) et WordPress Meet & eXchange, gérant de la société Neticpro, co-organisateur du WPMX Day et du WordCamp Bordeaux, et plus encore.

Des tutoriels et des bons plans en exclusivité !
  • Ce champ n’est utilisé qu’à des fins de validation et devrait rester inchangé.
5 commentaires
  1. Jjade

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

  2. Jeremy

    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… :/

  3. Seb

    Magnifique !
    Et ça marche parfaitement avec Fitvids.js 🙂

Laisser un commentaire