¿Qué hace wp-embed.min.js en WordPress 4.4?

14 dic 2015, 00:59:01
Vistas: 72K
Votos: 67

Pregunta

  1. ¿Qué hace el archivo wp-embed.min.js? He notado que se agrega al final del pie de página de mi blog.
  2. ¿Cómo puedo eliminarlo?

Esfuerzo

Después de buscar en Google, encontré Embeds en el Codex. ¿Por qué WordPress asume que quiero agregar videos, etc. a mi página por defecto?

Entorno

WordPress 4.4

4
Comentarios

Esto probablemente está relacionado con WordPress como servidor oEmbed y no como cliente

Mark Kaplun Mark Kaplun
14 dic 2015 07:25:29

Intenté agregar la respuesta a la primera parte de la pregunta

prosti prosti
28 nov 2016 21:06:47

Estoy bastante seguro de que solo está ahí para ralentizar tu página.

vhs vhs
17 abr 2017 22:36:59

@MarkKaplun tiene razón. wp-embed.min.js te permite incrustar publicaciones de sitios WordPress remotos en tu propio sitio WordPress, a través de oEmbed.

Jonathan Nicol Jonathan Nicol
15 nov 2017 04:47:42
Todas las respuestas a la pregunta 5
7
82

¿Qué es?

Se encarga de convertir enlaces en marcos incrustados (embeds).

Por ejemplo, puedes pegar un enlace de un video de Youtube en la sección de contenido del editor y se generará el embed de Youtube automáticamente cuando se visualice la página.

Más información en la Documentación de WordPress

¿Cómo eliminarlo?

Finalmente pude desactivarlo usando esto:

function my_deregister_scripts(){
  wp_deregister_script( 'wp-embed' );
}
add_action( 'wp_footer', 'my_deregister_scripts' );
14 dic 2015 01:40:55
Comentarios

Agregarlo en la acción "wp_enqueue_scripts", también parece funcionar.

andershagbard andershagbard
13 ene 2016 18:09:27

Sí, usaría el hook wp_enqueue_scripts y wp_dequeue_script() en lugar de wp_deregister_script()

swissspidy swissspidy
17 ene 2016 22:06:07

@swissspidy wp_dequeue_script( 'wp-embed' ); no funcionará - ¿podrías hacer una prueba? La recomendación del hook es válida.

Aziz Aziz
6 may 2016 01:38:25

En WordPress 4.6 el script @Trix funciona correctamente. ¡Gracias!

Sebastian Sebastian
6 sept 2016 12:07:25

Usar esto no pasará el themecheck.

lowtechsun lowtechsun
12 jun 2017 13:28:28

Buen artículo en Kinsta que usa filtros para eliminar el script. https://kinsta.com/knowledgebase/disable-embeds-wordpress/

Andrew Schultz Andrew Schultz
30 ago 2019 16:47:08

No respondiste tu pregunta...

Slbox Slbox
22 feb 2020 23:05:30
Mostrar los 2 comentarios restantes
4
35

Llegué a este hilo con la misma pregunta: ¿Qué hace el archivo wp-embed.min.js? Ninguna de las respuestas actuales aborda esta pregunta con precisión.

En primer lugar, estoy bastante seguro de que embed.min.js no está relacionado con la incrustación de contenido oEmbed de otros proveedores: Vimeo, YouTube, etc. Puedes eliminar embed.min.js y esas incrustaciones seguirán funcionando.

Está relacionado específicamente con la incrustación de publicaciones de WordPress de otros blogs/sitios web. ¡Incrustar publicaciones de WordPress dentro de publicaciones de WordPress: tan meta! Esta función se introdujo en WordPress 4.4.

Deshabilitar embed.min.js hará que esta función deje de funcionar en tu sitio.

Puedes probarlo fácilmente: pega la URL de la publicación de WordPress de otra persona en una de tus propias publicaciones. WordPress debería convertir esa URL en un widget incrustado. Cuando veas tu publicación en el front-end, notarás que tu marcado contiene un blockquote y un iframe. El blockquote es un enlace solo de texto a la publicación del blog que incrustaste, mientras que la fuente del iFrame es la URL de la publicación del blog con /embed/ añadido: su punto final oEmbed.

embed.min.js oculta el blockquote y muestra el iframe. También hace algunas otras cosas para que el iframe funcione correctamente.

Ahora, intenta eliminar el script embed.min.js de tu página usando uno de los métodos descritos en las otras respuestas. Recarga tu página y notarás que el blockquote es visible pero el iframe está oculto.

En resumen: si quieres incrustar publicaciones de WordPress de otras personas en tus propias publicaciones de WordPress, deja embed.min.js como está. Si no te importa esta función, puedes eliminarlo de forma segura.

15 nov 2017 04:18:31
Comentarios

Ten en cuenta que eliminar embed.js no es suficiente para deshabilitar correctamente los embeds y puede incluso causar comportamientos extraños si no se hace adecuadamente. Para desactivar completamente estos embeds, utiliza el plugin oficialmente recomendado Disable Embeds.

swissspidy swissspidy
22 ene 2018 16:09:53

Funciona como se espera y se explica en WordPress 5.x también.

inrsaurabh inrsaurabh
9 mar 2019 14:30:29

Increíble cómo WordPress añade bloat inútil con cada versión y tema oficial.

Michael Rogers Michael Rogers
20 jul 2020 23:49:13

@swissspidy¿quién lo recomienda? Parece abandonado.

Michael Rogers Michael Rogers
20 jul 2020 23:50:23
4

La respuesta de Trix no funcionó para mí en WordPress 4.4.1, pero encontré una solución en el código del plugin de WordPress Deshabilitar Embeds. Agrega este código (modificado) en el archivo functions.php de tu tema para eliminar completamente el archivo wp-embed.min.js del frontend:

add_action( 'init', function() {

    // Eliminar el endpoint de la API REST.
    remove_action('rest_api_init', 'wp_oembed_register_route');

    // Desactivar el descubrimiento automático de oEmbed.
    // No filtrar los resultados de oEmbed.
    remove_filter('oembed_dataparse', 'wp_filter_oembed_result', 10);

    // Eliminar los enlaces de descubrimiento de oEmbed.
    remove_action('wp_head', 'wp_oembed_add_discovery_links');

    // Eliminar el JavaScript específico de oEmbed del frontend y backend.
    remove_action('wp_head', 'wp_oembed_add_host_js');
}, PHP_INT_MAX - 1 );
12 ene 2016 11:08:18
Comentarios

Usar disable_embeds_init() como nombre de función es una muy mala idea. Si algún día instalas el plugin Disable Embeds, el cielo se caerá. Te recomiendo que simplemente instales el plugin, no hay beneficio en agregar esto al archivo functions.php de tu tema. Si insistes en hacerlo, deberías usar otro nombre de función.

swissspidy swissspidy
17 ene 2016 22:08:15

Gracias por la sugerencia @swissspidy, he actualizado el nombre de la función

Nadeem Khan Nadeem Khan
18 ene 2016 13:59:57

Ten en cuenta que esto no solo eliminará el JS del frontend/backend, también desactivará completamente la capacidad de incrustar tus publicaciones en otro sitio, WP Oembed no funcionará

Tom J Nowell Tom J Nowell
4 nov 2016 21:37:06

El artículo en Kinsta explica este método de usar filtros para eliminarlo https://kinsta.com/knowledgebase/disable-embeds-wordpress/

Andrew Schultz Andrew Schultz
30 ago 2019 16:47:45
1

Creo que esta parte aún falta.

¿Qué hace el archivo wp-embed.min.js? Noté que se agrega al final del pie de página de mi blog.

La respuesta a esta pregunta está en el seguimiento. https://core.trac.wordpress.org/changeset/35708

Embeds: Elimina los caracteres & del JS de embed en línea.

Versiones antiguas de WordPress convertirán esos caracteres & a &, lo que genera JS no funcional. Si las personas están ejecutando una versión antigua, no hagamos sus vidas más difíciles de lo que ya son.

También intentará detectar el agente de usuario.

28 nov 2016 21:06:03
Comentarios

El texto que has citado ("Eliminar caracteres & del JS embebido en línea" etc.) es un mensaje de confirmación único para el archivo, pero no describe el propósito general del script. He proporcionado mi propia respuesta que espero arroje más luz sobre el tema.

Jonathan Nicol Jonathan Nicol
15 nov 2017 04:23:58
0

Agosto 2022 - WordPress 6.0.1

Otros ya han respondido a la duda del OP.
Yo solo voy a profundizar un poco más sobre wp-embed

¿Qué hace el archivo wp-embed.min.js?

En resumen, mejora el aspecto de tus enlaces

Añade un bloque que muestra contenido extraído de otros sitios, como Twitter o YouTube.
Bloque de WordPress

Ejemplo

Con wp-embed

ejemplo con wp-embed

Sin wp-embed

Si desactivas wp-embed en las funciones, así se verá en el front end. ejemplo sin wp-embed

¿Cómo puedo deshacerme de él?

Algo que debes saber es que este script se ubica en tu footer

<script type='text/javascript' src='http://TUSITIO/wp-includes/js/wp-embed.min.js?ver=6.0.1' id='wp-embed-js'></script>

Así que tienes dos opciones. Una es usar wp_enqueue_scripts y otra es usar wp_footer.

Usando wp_enqueue_scripts

function deregister_style_scripts() {
    wp_deregister_script( 'wp-embed' );
}
add_action( 'wp_enqueue_scripts', 'deregister_style_scripts', 100 );

Usando wp_footer

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

Cómo incrustar el enlace

Usa el bloque Insertar

usar bloque de inserción

¿La inserción no funciona?

Esto suele pasar cuando no permiten incrustar su contenido en otros sitios. Esto se controla mediante X-Frame-Options, hay dos directivas DENY y SAMEORIGIN

Conexión rechazada

x-frame-options: DENY

error de conexión rechazada

Lo sentimos, este contenido no se puede incrustar.

x-frame-options: SAMEORIGIN

error de contenido no incrustable

Lee más

Sobre Inserciones: https://wordpress.org/support/article/embeds/
x-Frame-Options: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options

8 ago 2022 19:33:52