web-dev-qa-db-fra.com

Que fait wp-embed.min.js dans WordPress 4.4?

Question

  1. Que fait le fichier wp-embed.min.js? J'ai remarqué qu'il est ajouté à la fin du bas de page de mon blog.
  2. Comment puis-je m'en débarrasser?

Effort

Après quelques recherches sur Google et j'ai trouvé Intégrations sur le Codex. Pourquoi WordPress pense-t-il que je veux ajouter des vidéos, etc. à ma page par défaut?

Environnement

WordPress 4.4

48
Pmpr

Je pourrais enfin m'en débarrasser en utilisant ceci:

function my_deregister_scripts(){
  wp_deregister_script( 'wp-embed' );
}
add_action( 'wp_footer', 'my_deregister_scripts' );
58
Pmpr

Je suis arrivé à ce fil avec la même question: que fait le fichier wp-embed.min.js? Aucune des réponses actuelles ne répond à cette question avec précision.

Tout d'abord, je suis à peu près certain que embed.min.js ne concerne pas l'intégration de contenu oEmbed provenant d'autres fournisseurs: Vimeo, YouTube, etc. Vous pouvez supprimer embed.min.js et ces intégrations continueront à fonctionner.

Il concerne spécifiquement l’intégration de messages WordPress à partir de blogs/sites Web d’autres personnes. Intégrer des publications WordPress dans des publications WordPress: so meta! Cette fonctionnalité a été introduite dans WordPress 4.4 .

La désactivation de embed.min.js empêchera cette fonctionnalité de fonctionner sur votre site.

Vous pouvez le tester facilement: Collez l’URL du message WordPress d’un autre utilisateur dans l’un de vos propres messages. WP doit convertir cette URL en un widget intégré. Lorsque vous visualisez votre publication sur le front-end, vous remarquerez que votre balise contient une citation et un iframe. Blockquote est un lien textuel seulement vers le message de blog que vous avez intégré, tandis que la source de l'iFrame est l'URL du message de blog avec /embed/ ajouté: son point de terminaison oEmbed.

embed.min.js cache le blockquote et révèle le iframe. Il fait aussi quelques autres manigances pour faire jouer l’iframe à Nice.

Maintenant, essayez de supprimer le script embed.min.js de votre page en utilisant l’une des méthodes décrites dans les autres réponses. Rechargez votre page et vous remarquerez que la citation est visible mais que l’iframe est masqué.

En bref: si vous souhaitez intégrer les publications WordPress d'autres personnes dans vos propres publications WordPress, laissez embed.min.js seul. Si cette fonctionnalité ne vous intéresse pas, vous pouvez la supprimer en toute sécurité.

16
Jonathan Nicol

La réponse de Trix n'a pas fonctionné pour moi sur WordPress 4.4.1, mais j'ai trouvé une solution dans le code de Disable Embeds plugin WordPress. Ajoutez ce code (modifié) dans le fichier functions.php de votre thème pour supprimer complètement le fichier wp-embed.min.js de l'interface:

add_action( 'init', function() {

    // Remove the REST API endpoint.
    remove_action('rest_api_init', 'wp_oembed_register_route');

    // Turn off oEmbed auto discovery.
    // Don't filter oEmbed results.
    remove_filter('oembed_dataparse', 'wp_filter_oembed_result', 10);

    // Remove oEmbed discovery links.
    remove_action('wp_head', 'wp_oembed_add_discovery_links');

    // Remove oEmbed-specific JavaScript from the front-end and back-end.
    remove_action('wp_head', 'wp_oembed_add_Host_js');
}, PHP_INT_MAX - 1 );
7
Nadeem Khan

Je pense que cette partie est toujours manquante.

Que fait le fichier wp-embed.min.js? J'ai remarqué qu'il est ajouté à la fin du bas de page de mon blog.

La réponse à cette question est dans la piste. https://core.trac.wordpress.org/changeset/35708

Incorporé: supprime & caractères du JS incorporé en ligne.

Les anciennes versions de WordPress convertissent ces caractères & en, ce qui rend certains JS non fonctionnels. Si les gens utilisent une version plus ancienne, ne leur rendons pas la vie plus difficile qu’elle ne l’est déjà.

Il va également essayer de renifler l'agent utilisateur.

4
prosti