Wp-embed.min.js, WordPress 4.4'te ne yapar?


52

Soru

  1. wp-embed.min.jsDosya ne yapar ? Blog sayfamın altbilgisinin sonuna eklendiğini fark ettim.
  2. Ondan nasıl kurtulabilirim?

Çaba

Bazı googling ve ben Codex üzerinde Embeds bulundu sonra . WordPress neden varsayılan olarak sayfama video vb. Eklemek istediğimi düşünüyor?

Çevre, ortam

WordPress 4.4


1
Bu, istemciden değil, sunucudan oluşan bir sunucu olarak wp ile ilgili bir olasılıktır
Mark Kaplun


11
Sayfanızı yavaşlatmak için orada olduğundan eminim.
Josh Habdas

@MarkKaplun doğru. wp-embed.min.js, uzak WordPress sitelerinden gelen mesajları oEmbed aracılığıyla kendi WordPress sitenize gömmenizi sağlar.
Jonathan Nicol,

Yanıtlar:


61

Sonunda bunu kullanarak ondan kurtulabilirdim:

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

4
"Wp_enqueue_scripts" eylemine eklemek de işe yarıyor.
andershagbard

7
Evet, wp_enqueue_scriptskancayı kullanırdım ve wp_dequeue_script()yerinewp_deregister_script()
swissspidy

@swissspidy wp_dequeue_script( 'wp-embed' );çalışmayacak - lütfen bir test yapabilir misiniz? Başlık önerisi geçerlidir.
Aziz

WordPress 4.6 altında @Trix betiği iyi çalışıyor. Teşekkür ederim!
Sebastian,


20

Bu konuya aynı soruyla geldim: wp-embed.min.js dosyası ne işe yarıyor? Mevcut cevapların hiçbiri bu soruyu doğru bir şekilde ele almıyor.

Öncelikle, embed.min.js dosyasının oEmbed içeriğini diğer sağlayıcılardan yerleştirmeyle ilgili olmadığından eminim: Vimeo, YouTube vb. Embed.min.js dosyasını kaldırabilirsiniz ve bu yerleştirmeler çalışmaya devam edecektir.

Özellikle başkalarının bloglarından / web sitelerinden WordPress gönderilerini yerleştirmekle ilgilidir . WordPress yazılarını WordPress yazılarının içine gömme: yani meta! Bu özellik WordPress 4.4'te tanıtıldı .

Embed.min.js dosyasını devre dışı bırakmak, bu özelliğin sitenizde çalışmasını durdurur.

Bunu kolayca test edebilirsiniz: Başka birinin WordPress gönderisinin URL'sini kendi gönderilerinizden birine yapıştırın. WP bu URL'yi gömülü bir widget'a dönüştürmelidir. Yayınınızı ön uçta görüntülediğinizde, biçimlendirmenizin bir bloknot ve bir iframe içerdiğini fark edeceksiniz. /embed/Blockquote, gömdüğünüz blog postasına yalnızca metin içeren bir bağlantıdır, iFrame kaynağı ise blog postasının eklenmiş URL'sidir : oEmbed bitiş noktası.

embed.min.js bloku gizler ve iframe öğesini gösterir. Ayrıca iframe'in hoş görünmesini sağlamak için başka bazı Şenanlılar da var.

Şimdi, diğer yanıtlarda açıklanan yöntemlerden birini kullanarak embed.min.js komut dosyasını sayfanızdan kaldırmayı deneyin. Sayfanızı yeniden yükleyin; blok alıntıların görünür durumda olduğunu ancak iframe'in gizlendiğini fark edeceksiniz.

Kısacası: başkalarının WordPress yayınlarını kendi WordPress yayınlarınıza yerleştirmek istiyorsanız, yalnızca embed.min.js dosyasını bırakın. Bu özelliği önemsemiyorsanız, güvenle kaldırabilirsiniz.


3
embed.jsGömmeleri düzgün bir şekilde devre dışı bırakmak için kaldırmanın yeterli olmadığını ve doğru yapılmazsa garip davranışlara yol açabileceğini unutmayın. Bu yerleştirmeleri tamamen devre dışı bırakmak için resmi olarak önerilen Devre Dışı Bırak eklentisini kullanın.
swissspidy

Beklendiği gibi çalışmak ve 5.x kelimesine basın.
inrsaurabh

8

Trix'in cevabı WordPress'te benim için işe yaramadı 4.4.1, ancak Disable Embed WordPress eklentisi kodunda bir çözüm buldum . Dosyayı ön uçtan tamamen functions.phpkaldırmak için bu kodu (değiştirilmiş) temanın dosyasına ekleyin wp-embed.min.js:

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 );

3
disable_embeds_init()İşlev ismi olarak kullanmak gerçekten kötü bir fikirdir. Devre Dışı Bırak eklentisini bir gün yükleyecekseniz, gökyüzü düşer. Ben sadece eklentiyi yüklemenizi öneririm, bunu kendi işlevlerinize ekleyin. Bunu yapmakta ısrar ediyorsanız, gerçekten başka bir işlev adı kullanmalısınız.
swissspidy

@Swissspidy öneriniz için teşekkürler, işlevin adını güncelledik
Nadeem Khan

2
Bunun yalnızca JS'yi ön uçtan / arka uçtan kaldırmayacağını, ayrıca yazılarınızın başka bir siteye gömme özelliğini de tamamen devre dışı bırakacağını, WP Oembed'in çalışmadığını
Tom J Nowell

Kinsta hakkındaki makale, bu filtreleri kaldırmak için filtre kullanmanın yöntemini açıklamaktadır. Kinsta.com/knowledgebase/disable-embeds-wordpress
Andrew Schultz

4

Bence bu kısım hala kayıp.

Wp-embed.min.js dosyası ne işe yarar? Blog sayfamın altbilgisinin sonuna eklendiğini fark ettim.

Bu sorunun cevabı yolda. https://core.trac.wordpress.org/changeset/35708

Embed: JS'yi satır içi embed'den & karakterlerinden kaldır.

WordPress'in eski sürümleri, bu ve karakterleri, işlevsel olmayan bazı JS'ler için & 'ye dönüştürür. Eğer insanlar daha eski bir sürüm yayınlıyorsa, hayatlarını olduğundan daha zor hale getirmeyelim.

Aynı zamanda kullanıcı aracısını koklamaya çalışacaktır.


2
Alıntı yaptığınız metin ("Satırdaki satır içi karakterleri & JS'yi göm" vb.) dosya için tek bir işlem mesajıdır, ancak komut dosyasının genel amacını tanımlamaz. Umarım daha fazla ışık tutan kendi cevabımı verdim.
Jonathan Nicol,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.