Come aggiungere un nuovo provider per il supporto oEmbed in wordpress?
Vediamo quale funzione richiamare.
Introduzione
Negli articoli precedenti abbiamo parlato del protocollo oEmbed, abbiamo spiegato cosa è e come funziona e sopratutto, come worpdress lo utilizza all’interno degli articoli.
Nell’articolo WordPress: oEmbed la guida completa abbiamo visto quali servizi worpdress attualmente supporta.
Quello che vedremo ora è come aggiungere un servizio non registrato di default in wordpress (registrato nella whitelist) per poterlo utilizzare all’interno degli articoli.
Registrare un nuovo provider
Tramite la funzione wp_oembed_add_provider possiamo aggiungere il servizio di nostro interesse. Naturalmente questo deve supportare il protocollo oEmbed.
Questo è il codice da inserire all’interno del file functions.php del tema attivo:
wp_oembed_add_provider( $format, $provider, $regex );
I parametri sono i seguenti
$format
(string) (richiesto) La struttura dell’URL che questo provider oEmbed supporta. Può essere in formato con carattere jolly (usando ‘*’) o un’espressione regolare (si veda il parametro regex)
Default: Nessuno
$provider
(string) (richiesto) L’URL di base verso il provider oEmbed. Gli argomenti della query vengono automaticamente aggiunti.
Default: Nessuno
$regex
(boolean) (opzionale) Indica se il parametro format è un’espressione regolare o no. True vuol dire che lo è, False vuol dire che è una semplice stringa con carattere jolly.
Default: False
L’esempio di utilizzo è il seguente
wp_oembed_add_provider( '#http://(www\.)?youtube\.com/watch.*#i', 'http://www.youtube.com/oembed', true );
dove registriamo youtube come provider (ma non serve farlo dato che questa è la funzione che wordpress utilizza. Youtube è di default già registrato come provider).
Questa funzione la troviamo in wp-includes/media.php
E questo è tutto. Per la parte oEmbed dovrebbe essere tutto. Ora tocca a te registrare i nuovi servizi ed utilizzarli in wordpress
DETTAGLI
Livello: medio/alto
Compatibilità: testato su WP versione 3.9.1