WP 4.2에 도입 된 그림 이모티콘 비활성화


135

따라서 WP 4.2에는 기본적으로 페이지 전체에 JS 및 기타 정크를 추가하는 이모티콘 (스마일리)이 도입되었습니다. 어떤 사람들은 충격을받을 수 있습니다. 이 모든 인스턴스를 어떻게 완전히 지우나요?


39
나는 발표를 읽을 때 나는 거의 내 의자에 무너 너무 충격을 받았다
톰 J 노웰가

2
o_O ... 9_9 ...> :- (
cjbj

답변:


193

init다음과 같이 조치를 연결 하고 제거합니다.

function disable_wp_emojicons() {

  // all actions related to emojis
  remove_action( 'admin_print_styles', 'print_emoji_styles' );
  remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
  remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
  remove_action( 'wp_print_styles', 'print_emoji_styles' );
  remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
  remove_filter( 'the_content_feed', 'wp_staticize_emoji' );
  remove_filter( 'comment_text_rss', 'wp_staticize_emoji' );

  // filter to remove TinyMCE emojis
  add_filter( 'tiny_mce_plugins', 'disable_emojicons_tinymce' );
}
add_action( 'init', 'disable_wp_emojicons' );

TinyMCE 이모티콘을 비활성화하려면 다음 필터 기능이 필요합니다.

function disable_emojicons_tinymce( $plugins ) {
  if ( is_array( $plugins ) ) {
    return array_diff( $plugins, array( 'wpemoji' ) );
  } else {
    return array();
  }
}

이제 우리는이 기능이 코어에 추가 된 적이 없다고 강조합니다. 특히 해결 된 수많은 버그가 아직 구현 되지 않은 상태 입니다.

플러그인 Emojis 플러그인으로 사용할 수 있습니다 .

또는 Classic Smilies를 사용하여 스마일 을 이전 버전의 WordPress의 원래 버전으로 바꿀 수 있습니다 .

최신 정보

필터에서 false를 반환하여 DNS 프리 페치를 제거 할 수도 있습니다 emoji_svg_url(@yobddigi 덕분에).

add_filter( 'emoji_svg_url', '__return_false' );

25
감사! 사람들이 왜 이것을 통해 활성화 / 비활성화하지 못하게했는지 확실하지 않지만 Settings -> Writing확실히 성가시다. +1
Howdy_McGee

6
repo 또는 github에서 "Emojicons 비활성화"플러그인을 기대하십시오 ;-)
birgire

3
그들 중 몇 가지가 이미 있습니다 (이것은 사본 임) wordpress.org/plugins/classic-smilies wordpress.org/plugins/disable-emojis
pcarvalho

3
답변 해주셔서 감사합니다! 나는 이것이 "opt-in"이나 그것을 비활성화하는 방법이 아니라 핵심의 일부라고 믿을 수 없다 ~ _ ~
phatskat

5
그리고 머리글에 축소되지 않은 114 줄의 스크립트와 스타일을 추가하는 것이 충격적입니다. 플러그인 주셔서 감사합니다 ...
Debajyoti Das

28

이것을 사용하지 않으려면 더 나은 해결책 : 플러그인을 사용하십시오.

Christine의 의견과 동일한 코드 : https://wordpress.org/plugins/disable-emojis/

스마일을 이전 버전으로 수정하는 동일한 코드 : https://wordpress.org/plugins/classic-smilies/

출처 : 나, 처음에 그 코드를 썼기 때문에. https://plugins.trac.wordpress.org/changeset/1142480/classic-smilies


좋은! 비록 github 항목을 통해 기능을 보았습니다. 이 플러그인 링크로 답변을 업데이트했습니다. 감사!
Christine Cooper

그렇습니다. 트위터 사용자를 위해 github에도 넣었습니다. gist.github.com/Otto42/b79ff5428993fcff45bb
Otto

14

이모지를 제거하는 간단한 방법입니다. 다음 코드를 추가하십시오function.php

remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'wp_print_styles', 'print_emoji_styles' ); 

2
이것은 이미 위의 질문에서 다루었습니다.
Christine Cooper

고마워 이것은 코드를 멋지게 제거합니다. 이상하게도 내 페이지가 내 함수보다 PHP에로드하는 데 2 ​​~ 3 초가 걸립니다.
Steve

이를 통해 실행되어야합니다 init. 내 답변을 참조하십시오 .
Christine Cooper

2

Wordpress가 구식 ASCII 스마일을 게시물의 유니 코드 이모 지 (예 ;-): 등 😉)로 자동 변환하지 못하게 하려면 다음을 수행 할 수 있습니다.remove_filter('the_content', 'convert_smilies')

(100 % 확실하지는 않지만 이것이 문제를 해결했으며 누군가에게 도움이되기를 바랍니다.)


0

위의 코드를 시도했지만 내 코드가 유일한 코드입니다.

이 코드를 구현하기 전에 functions.php를 백업하는 것을 잊지 마십시오.

// REMOVE WP EMOJI
remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('wp_print_styles', 'print_emoji_styles');

remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
remove_action( 'admin_print_styles', 'print_emoji_styles' );

내 답변에서 코드를 올바르게 테스트 했습니까?
Christine Cooper

예 나는 그것을 여러 번 시도했습니다 사이트는 cloudflare-의 nginx 서버에
johnhgaspay

내 코드를 다시 확인하면 작동합니다. functions.php 파일에 코드를 추가 할 때 다음과 같이 우선 순위를 높게 설정하십시오.add_action( 'init', 'disable_wp_emojicons', 3 );
Christine Cooper

-1

희소식, 기능 요청을 추가했습니다.

https://core.trac.wordpress.org/ticket/38252 에서 WordPress WP_EMOICONS 대한 새로운 옵션을 소개 하십시오.

분명히 이것은 중복 https://core.trac.wordpress.org/ticket/32102 로 표시되어 있으므로 다음과 같은 것을 기대할 수 있습니다.

define( 'WP_EMOICONS', false );

향후 WordPress 릴리스에서.


1
티켓 # 32102wontfix 로 닫혀있는 것 같습니다 . 낙관적 인 시도와
벌을

2
추신 : 내가 이해하는 한, 티켓 # 38252는 티켓 # 32102와 중복되어 이전에 wontfix로 닫 혔기 때문에 닫혔습니다. 그래서 날이 오기를 플러그인이 밖으로 정렬해야 할 것 같습니다 ;-) 따라서 당신이 ;-) 너무 낙관적 인 것에 대해 그것을 투표
birgire

-2

WordPress 이모티콘은 sworg에서 제공되며 압축되지 않기 때문에 사용중인 이모티콘 수에 따라 SVG 로딩 시간에 영향을 미치며 Google의 PageSpeed ​​Insights 도구에 경고를 표시 할 수도 있습니다.

이 문제를 해결하기 위해 js를 통해 외부 전화를 걸지 않고 WordPress 사이트 자체에서 직접 그림 이모티콘을 제공 할 수 있습니다.

WordPress.org 플러그인 저장소에 무료로 제공되는 플러그인 압축 이모티콘 을 설치하면 됩니다.

플러그인이 활성화되면 압축 기능으로 이모티콘 당 3kb ~ 1.3kb (대략 % 60)의 범위를 절약 할 수 있습니다.

출처 : WPTavern

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.