web-dev-qa-db-fra.com

wp_embed_register_handler ne fonctionne pas

J'ai utilisé cette fonction pour d'autres hôtes vidéo, mais pour une raison quelconque, maintenant, cela ne fonctionne pas. Ceci est le code direct et intégré de la vidéo

https://vidoza.net/r2jeim68kuq6.html

<IFRAME SRC="https://vidoza.net/embed-r2jeim68kuq6.html" FRAMEBORDER=0 MARGINWIDTH=0 MARGINHEIGHT=0 SCROLLING=NO WIDTH=640 HEIGHT=360 allowfullscreen></IFRAME>

et c'est ma fonction d'enregistrement.

add_action( 'init', function()
{        wp_embed_register_handler(
        'vidoza', 
        '#https://vidoza\.net/([a-zA-Z0-9_-]+)$#i',   
        'vidoza_embed_handler' 
    );
} );


function vidoza_embed_handler( $matches, $attr, $url, $rawattr )
{
    $embed = sprintf( 
        '<IFRAME SRC="https://vidoza.net/embed-%1$s" FRAMEBORDER=0 MARGINWIDTH=0 MARGINHEIGHT=0 SCROLLING=NO WIDTH=640 HEIGHT=360 allowfullscreen></IFRAME>',
        esc_attr( $matches[1] )
    );
    return apply_filters( 'vidoza_embed_handler', $embed, $matches, $attr, $url, $rawattr );
}

Je ne parviens pas à le faire fonctionner.

1
Archi25

Vous essayez de faire correspondre la partie r2jeim68kuq6.html, mais vous n'autorisez pas les points dans votre motif regex ici:

'#https://vidoza\.net/([a-zA-Z0-9_-]+)$#i'

Vous pouvez essayer par exemple (suppression du A-Z également en raison de la recherche i insensible à la casse):

'#https://vidoza\.net/([a-z0-9_-]+)\.html$#i'

si .html est une extension standard et que vous ajustez également la source d'iframe sur:

src="https://vidoza.net/embed-%1$s.html" 

J'espère que ça aide!

2
birgire