web-dev-qa-db-fra.com

Script en file d'attente seulement si la page a un oembed

J'ai un script qui ajoute des styles au contenu OEmbedded. Pour le moment, il est affiché sur toutes les pages. Je me demandais si quelqu'un savait comment mettre en file d'attente le script uniquement si la page comportait une entrée de contenu.

Je n'ai aucun code à afficher car Google ne renvoie rien sur le sujet.

3
danbrown

La première chose à considérer est que le hook d’action wp_enqueue_scripts se déclenche avant que les filtres sur le contenu de la page/publication ne soient exécutés.

Je voudrais donc ajouter une fonction au crochet d’action wp et tester le contenu d’oembeds ici.

add_action( 'wp', 'your_oembed_test_function' );
function your_oembed_test_function(){
    //earliest reliable hook to get $post variable
    global $post;

    //do your tests with $post content

    if( $oembed_exists_results ) wp_enqueue_script( $your_handle );

}

Étant donné que WP se déclenche avant wp_enqueue_scripts, vous serez en mesure de choisir les scripts/styles à afficher en fonction de la page à inclure dans le contenu.

2
Douglas.Sesar