वर्डप्रेस 4.4 में wp-embed.min.js क्या करता है?


52

सवाल

  1. wp-embed.min.jsफ़ाइल क्या करती है? मैंने देखा कि यह मेरे ब्लॉग पेज पाद लेख के अंत में जोड़ा गया है।
  2. मुझे इससे कैसे छुटकारा मिल सकता है?

प्रयास है

कुछ googling के बाद और मुझे कोडेक्स पर एंबेड मिला । वर्डप्रेस मुझे क्यों लगता है कि मैं डिफ़ॉल्ट रूप से अपने पेज पर वीडियो आदि जोड़ना चाहता हूं?

वातावरण

वर्डप्रेस 4.4


1
यह प्रोबबली wp से संबंधित है जैसे कि oEmbed सर्वर और क्लाइंट नहीं
मार्क कपलुन

मैंने प्रश्न के पहले भाग में उत्तर जोड़ने की कोशिश की
प्रोस्टी नोव

11
बहुत यकीन है कि यह सिर्फ आपके पृष्ठ को धीमा करने के लिए है।
जोश हबदास

@MarkKaplun सही है। wp-embed.min.js आपको दूरस्थ वर्डप्रेस साइटों से पोस्ट करने की अनुमति देता है अपने वर्डप्रेस साइट में, oEmbed के माध्यम से।
जोनाथन निकोल

जवाबों:


61

मैं अंत में इसे इस्तेमाल करने से छुटकारा पा सकता हूं:

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

4
इसे "wp_enqueue_scripts" क्रिया पर जोड़ने पर भी काम करने लगता है।
andershagbard 16

7
हां, मैं wp_enqueue_scriptsहुक का उपयोग wp_dequeue_script()wp_deregister_script()
करूंगा

@swissidy wp_dequeue_script( 'wp-embed' );काम नहीं करेगी - क्या आप परीक्षण चला सकते हैं? हुड की सिफारिश मान्य है।
अज़ीज़

वर्डप्रेस 4.6 के तहत @ मैट्रिक्स स्क्रिप्ट ठीक काम करती है। धन्यवाद!
सेबस्टियन

1
इस अभ्यस्त पास का उपयोग करना themecheck
लोटेकसन

20

मैं इसी प्रश्न के साथ इस थ्रेड पर आया: wp-embed.min.js फ़ाइल क्या करती है? वर्तमान उत्तरों में से कोई भी इस प्रश्न का सही पता नहीं लगाता है।

सबसे पहले, मैं काफी निश्चित हूं कि embed.min.js अन्य प्रदाताओं से एम्बेडेड सामग्री से संबंधित नहीं है: Vimeo, YouTube आदि। आप embed.min.js को हटा सकते हैं और उन एम्बेड कार्य करना जारी रखेंगे।

यह विशेष रूप से अन्य लोगों के ब्लॉग / वेबसाइटों से वर्डप्रेस पोस्ट एम्बेड करने से संबंधित है । वर्डप्रेस पोस्ट के अंदर वर्डप्रेस पोस्ट एम्बेड करना: तो मेटा! इस फीचर को वर्डप्रेस 4.4 में पेश किया गया था

एम्बेड.min.js को अक्षम करने से वह सुविधा आपकी साइट पर काम करना बंद कर देगी।

आप इसे आसानी से परख सकते हैं: किसी और के वर्डप्रेस पोस्ट का URL अपने किसी एक पोस्ट में पेस्ट करें। WP को उस URL को एक एम्बेडेड विजेट में बदलना चाहिए। जब आप अपने पोस्ट को फ्रंट-एंड पर देखते हैं तो आप देखेंगे कि आपके मार्कअप में एक ब्लॉकचोट और एक iframe है। ब्लॉकक्वाट आपके द्वारा एम्बेड किए गए ब्लॉग पोस्ट के लिए केवल एक टेक्स्ट-लिंक है, जबकि iFrame का स्रोत ब्लॉग पोस्ट का URL है जिसमें /embed/एप्लाइड किया गया है: इसका oEmbed समापन बिंदु।

embed.min.js ब्लॉककॉट को छुपाता है और iframe को प्रकट करता है। यह भी कुछ अन्य shenanigans करता है iframe खेलने अच्छा बनाने के लिए।

अब, अन्य उत्तरों में वर्णित विधियों में से किसी एक का उपयोग करके अपने पृष्ठ से embed.min.js स्क्रिप्ट को हटाने का प्रयास करें। अपने पृष्ठ को पुनः लोड करें और आप देखेंगे कि ब्लॉकचोट दिखाई दे रहा है लेकिन आइफ्रेम छिपा हुआ है।

संक्षेप में: यदि आप अन्य लोगों के वर्डप्रेस पोस्ट्स को अपने वर्डप्रेस पोस्ट्स में एम्बेड करना चाहते हैं, तो embed.min.js को अकेला छोड़ दें। यदि आप इस सुविधा की परवाह नहीं करते हैं तो आप इसे सुरक्षित रूप से हटा सकते हैं।


3
ध्यान दें कि एंबेड्स embed.jsको ठीक से अक्षम करने के लिए हटाना पर्याप्त नहीं है और अगर सही नहीं किया गया तो अजीब व्यवहार भी हो सकता है। इन एम्बेडों को पूरी तरह से अक्षम करने के लिए, आधिकारिक तौर पर अनुशंसित डिसबल्स प्लगइन का उपयोग करें
तैराक

उम्मीद के मुताबिक काम करना और शब्द-प्रेस 5.x में भी बताया गया है।
अरसौरभ

8

ट्रिक्स का जवाब मेरे लिए वर्डप्रेस पर काम नहीं करता था 4.4.1, लेकिन मुझे अक्षम किए गए वर्डप्रेस प्लगइन के कोड में एक समाधान मिला । functions.phpफ़ाइल को 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()फ़ंक्शन नाम के रूप में उपयोग करना वास्तव में एक बुरा विचार है। यदि आप एक दिन डिसएबल एंबेस प्लगइन स्थापित करने जा रहे हैं, तो आकाश नीचे गिर जाएगा। मैं आपको सिर्फ प्लगइन स्थापित करने की सलाह देता हूं, इसे आपके थीम के फंक्शंस में जोड़ने का कोई लाभ नहीं है। पीडीएफ फाइल। यदि आप ऐसा करने पर जोर देते हैं, तो आपको वास्तव में दूसरे फ़ंक्शन नाम का उपयोग करना चाहिए।
स्वस्सपाइडी

सुझाव के लिए धन्यवाद @swissspidy, मैंने फ़ंक्शन का नाम अपडेट किया है
नदीम खान

2
नोट यह सिर्फ दृश्यपटल / बैकएंड से जे एस को नहीं निकाला जाएगा कि, यह भी पूरी तरह से एक अन्य साइट पर अपनी पोस्ट को एम्बेड करने की क्षमता को निष्क्रिय कर देगा, WP oEmbed काम नहीं करेगा
टॉम जम्मू नॉवेल

Kinsta पर आलेख इसे हटाने के लिए फ़िल्टर का उपयोग करने के इस तरीके पर विस्तृत करता है kinsta.com/knowledgebase/disable-embeds-wordpress
एंड्रयू

4

मुझे लगता है कि यह हिस्सा अभी भी गायब है।

Wp-embed.min.js फ़ाइल क्या करती है? मैंने देखा कि यह मेरे ब्लॉग पेज पाद लेख के अंत में जोड़ा गया है।

इस सवाल का जवाब ट्रैक में है। https://core.trac.wordpress.org/changeset/35708

एंबेड्स: इनलाइन एंबेड जेएस से निकालें और वर्ण।

WordPress के पुराने संस्करण उन & वर्णों को & में परिवर्तित कर देंगे, जो कुछ गैर-कार्यात्मक JS के लिए बनाता है। यदि लोग एक पुरानी रिलीज़ चला रहे हैं, तो आइए पहले से ही उनके जीवन को अधिक कठिन न बनाएं।

यह उपयोगकर्ता एजेंट को सूँघने की भी कोशिश करेगा।


2
आपने जो पाठ उद्धृत किया है ("इनलाइन एम्बेड जेएस से हटाएं और वर्ण" आदि)। फ़ाइल के लिए एक एकल संदेश है, लेकिन स्क्रिप्ट के समग्र उद्देश्य का वर्णन नहीं करता है। मैंने अपना स्वयं का उत्तर प्रदान किया है जो उम्मीद करता है कि अधिक प्रकाश डालेगा।
जोनाथन निकोल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.