wp-embed.min.js는 WordPress 4.4에서 무엇을합니까?


52

질문

  1. 뭐라고합니까 wp-embed.min.js파일은 무엇입니까? 블로그 페이지 바닥 글 끝에 추가 된 것으로 나타났습니다.
  2. 어떻게 제거 할 수 있습니까?

노력

인터넷 검색을 한 후 Codex 에서 Embeds 를 찾았습니다 . WordPress에서 기본적으로 내 페이지에 비디오 등을 추가하고 싶다고 생각하는 이유는 무엇입니까?

환경

워드 프레스 4.4


1
이것은 probabli에서 oEmbed 서버로 WP 클라이언트가 아닌 관련이
마크 Kaplun

나는 질문의 첫 부분에 답을 추가하려고 노력했다
prosti

11
페이지 속도가 느려질 것입니다.
Josh Habdas

@MarkKaplun이 정확합니다. wp-embed.min.js를 사용하면 oEmbed를 통해 원격 WordPress 사이트의 게시물을 자신의 WordPress 사이트에 포함 할 수 있습니다.
Jonathan Nicol

답변:


61

나는 이것을 사용하여 마침내 그것을 제거 할 수 있었다 :

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

4
"wp_enqueue_scripts"조치에 추가하면 작동하는 것 같습니다.
andershagbard 2016 년

7
네, 대신 wp_enqueue_scripts후크를 사용하겠습니다wp_dequeue_script()wp_deregister_script()
swissspidy

@swissspidy wp_dequeue_script( 'wp-embed' );가 작동하지 않습니다. 테스트를 실행할 수 있습니까? 후드 권장 사항이 유효합니다.
Aziz

WordPress 4.6에서 @Trix 스크립트가 제대로 작동합니다. 감사합니다!
Sebastian

1
이것을 사용하면 themecheck가 전달되지 않습니다 .
lowtechsun

20

wp-embed.min.js 파일의 기능은 무엇입니까? 현재 답변 중 어느 것도이 질문에 정확하게 대처하지 못합니다.

첫째, embed.min.js가 Vimeo, YouTube 등과 같은 다른 제공 업체의 oEmbed 컨텐츠를 포함하는 것과 관련이 없다는 것은 상당히 확실합니다. embed.min.js를 제거 할 수 있으며 해당 임베드는 계속 작동합니다.

특히 다른 사람의 블로그 / 웹 사이트에서 WordPress 게시물 을 포함 하는 것과 관련이 있습니다. WordPress 게시물에 WordPress 게시물 포함 : 메타! 이 기능은 WordPress 4.4에서 도입되었습니다 .

embed.min.js를 비활성화하면 해당 기능이 사이트에서 작동하지 않습니다.

이를 쉽게 테스트 할 수 있습니다. 다른 사람의 WordPress 게시물의 URL을 자신의 게시물 중 하나에 붙여 넣습니다. WP는 해당 URL을 임베디드 위젯으로 변환해야합니다. 프런트 엔드에서 게시물을 볼 때 마크 업에 인용 부호와 iframe이 포함되어 있음을 알 수 있습니다. 인용구는 포함 된 블로그 게시물에 대한 텍스트 전용 링크이며, iFrame의 소스 /embed/는 oEmbed 엔드 포인트 가 추가 된 블로그 게시물의 URL입니다 .

embed.min.js는 인용 부호를 숨기고 iframe을 나타냅니다. 또한 iframe을 멋지게 재생하기 위해 다른 shenanigans를 수행합니다.

이제 다른 답변에서 설명한 방법 중 하나를 사용하여 페이지에서 embed.min.js 스크립트를 제거하십시오. 페이지를 새로 고침하면 인용구가 표시되지만 iframe이 숨겨져 있음을 알 수 있습니다.

한마디로 : 다른 사람의 WordPress 게시물을 자신의 WordPress 게시물에 포함하려면 embed.min.js 만 남겨 두십시오. 이 기능이 마음에 들지 않으면 안전하게 제거 할 수 있습니다.


3
제거 embed.js만으로는 퍼가기를 적절하게 비활성화하기에 충분하지 않으며 올바르게 수행하지 않으면 이상한 동작이 발생할 수도 있습니다. 이러한 퍼가기를 완전히 비활성화하려면 공식적으로 권장되는 퍼가기 비활성화 플러그인을 사용하십시오 .
swissspidy

word-press 5.x에서도 예상대로 작동합니다.
inrsaurabh

8

Trix의 대답은 WordPress 4.4.1에서 나에게 적합하지 않지만 Embeds WordPress 플러그인 비활성화 코드에서 해결책을 찾았습니다 . 테마 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()함수 이름으로하는 것은 정말 나쁜 생각입니다. 언젠가 Embeds 비활성화 플러그인을 설치하면 하늘이 무너집니다. 플러그인을 설치하는 것이 좋습니다. 테마의 functions.php 파일에 추가하면 아무런 이점이 없습니다. 그렇게 주장하면 실제로 다른 함수 이름을 사용해야합니다.
swissspidy

@swissspidy 제안에 감사드립니다, 나는 함수의 이름을 업데이트했습니다
Nadeem Khan

2
이 단지 프론트 엔드 / 백엔드에서 JS를 제거하지 않습니다, 그것은 또한 완전히 다른 사이트에 글을 삽입 할 수있는 기능을 비활성화됩니다 참고, WP에서 oEmbed가 작동하지 않습니다
톰 J 노웰가

Kinsta에 관한 기사는 필터를 사용하여 필터를 제거하는이 방법에 대해 자세히 설명합니다. kinsta.com/knowledgebase/disable-embeds-wordpress
Andrew Schultz

4

이 부분이 여전히 빠져 있다고 생각합니다.

wp-embed.min.js 파일의 기능은 무엇입니까? 블로그 페이지 바닥 글 끝에 추가 된 것으로 나타났습니다.

이 질문에 대한 답은 궤도에 있습니다. https://core.trac.wordpress.org/changeset/35708

임베드 : 인라인 임베드 JS에서 & 문자를 제거하십시오.

이전 버전의 WordPress는 이러한 & 문자를 &로 변환하여 작동하지 않는 JS를 만듭니다. 만약 사람들이 구버전을 사용하고 있다면 그들의 삶을 이전보다 더 어렵게 만들지 마십시오.

또한 사용자 에이전트를 스니핑하려고 시도합니다.


2
인용 한 텍스트 ( "인라인 삽입 JS에서 문자 제거 및 문자"등) 파일에 대한 단일 커밋 메시지이지만 스크립트의 전반적인 목적을 설명하지는 않습니다. 희망적으로 더 많은 빛을 발산하는 내 자신의 답변을 제공했습니다.
Jonathan Nicol
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.