it-swarm.com.de

Was macht wp-embed.min.js in WordPress 4.4?

Frage

  1. Was macht die wp-embed.min.js Datei? Mir ist aufgefallen, dass es am Ende meiner Blog-Fußzeile hinzugefügt wird.
  2. Wie kann ich es loswerden?

Aufwand

Nach einigem googeln und fand ich Embeds im Codex. Warum glaubt WordPress, dass ich meiner Seite standardmäßig Videos usw. hinzufügen möchte?

Umwelt

WordPress 4.4

48
Pmpr

Damit könnte ich endlich Schluss machen:

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

Ich kam zu diesem Thread mit der gleichen Frage: Was macht die Datei wp-embed.min.js? Keine der aktuellen Antworten geht genau auf diese Frage ein.

Erstens bin ich mir ziemlich sicher, dass embed.min.js nichts mit dem Einbetten von eingebetteten Inhalten anderer Anbieter zu tun hat: Vimeo, YouTube usw. Sie können embed.min.js entfernen, und diese Einbettungen funktionieren weiterhin.

Es bezieht sich speziell auf das Einbetten von WordPress-Posts aus Blogs/Websites anderer Leute. Einbetten von WordPress-Posts in WordPress-Posts: also Meta! Diese Funktion wurde in WordPress 4.4 eingeführt .

Wenn Sie embed.min.js deaktivieren, funktioniert diese Funktion nicht mehr auf Ihrer Site.

Sie können dies ganz einfach testen: Fügen Sie die URL des WordPress-Posts einer anderen Person in einen Ihrer eigenen Posts ein. WP sollte diese URL in ein eingebettetes Widget konvertieren. Wenn Sie Ihren Beitrag im Front-End anzeigen, werden Sie feststellen, dass Ihr Markup ein Blockquote und einen Iframe enthält. Das Blockzitat ist ein Nur-Text-Link zu dem von Ihnen eingebetteten Blog-Beitrag, während die Quelle des iFrame die URL des Blog-Beitrags ist, an die /embed/ angehängt ist: sein eingebetteter Endpunkt.

embed.min.js verbirgt das blockquote und zeigt den iframe an. Es tut auch einige andere Spielereien, um den Iframe dazu zu bringen, Nizza zu spielen.

Versuchen Sie nun, das Skript embed.min.js mit einer der in den anderen Antworten beschriebenen Methoden von Ihrer Seite zu entfernen. Laden Sie Ihre Seite neu und Sie werden feststellen, dass das Blockzitat sichtbar ist, aber der Iframe ausgeblendet ist.

Kurz gesagt: Wenn Sie die WordPress-Posts anderer Leute in Ihre eigenen WordPress-Posts einbetten möchten, lassen Sie embed.min.js in Ruhe. Wenn Sie sich nicht für diese Funktion interessieren, können Sie sie sicher entfernen.

16
Jonathan Nicol

Die Antwort von Trix hat bei WordPress 4.4.1 nicht geklappt, aber ich habe eine Lösung im Code von Einbettungen deaktivieren WordPress-Plugin gefunden. Fügen Sie diesen Code (geändert) in die functions.php-Datei Ihres Themas ein, um die wp-embed.min.js-Datei vollständig vom Frontend zu entfernen:

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

Ich denke, dieser Teil fehlt noch.

Was macht die Datei wp-embed.min.js? Mir ist aufgefallen, dass es am Ende meiner Blog-Fußzeile hinzugefügt wird.

Die Antwort auf diese Frage ist in der Spur. https://core.trac.wordpress.org/changeset/35708

Einbettungen: & Zeichen aus der eingebetteten JS entfernen.

Ältere Versionen von WordPress konvertieren diese & Zeichen in &, was dazu führt, dass einige JS nicht mehr funktionieren. Wenn die Leute eine ältere Version haben, sollten wir ihnen das Leben nicht schwerer machen, als es bereits ist.

Es wird auch versucht, den Benutzeragenten zu beschnüffeln.

4
prosti