Tak więc WP 4.2 wprowadził emoji (emotikony), które w zasadzie dodają JS i inne śmieci na wszystkich twoich stronach. Coś, co niektórzy mogą uznać za szokujące. Jak można całkowicie usunąć wszystkie tego przypadki?
Tak więc WP 4.2 wprowadził emoji (emotikony), które w zasadzie dodają JS i inne śmieci na wszystkich twoich stronach. Coś, co niektórzy mogą uznać za szokujące. Jak można całkowicie usunąć wszystkie tego przypadki?
Odpowiedzi:
Podłączymy się init
i usuniemy działania w następujący sposób:
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' );
Będziemy potrzebować następującej funkcji filtrowania, aby wyłączyć emojikony TinyMCE:
function disable_emojicons_tinymce( $plugins ) {
if ( is_array( $plugins ) ) {
return array_diff( $plugins, array( 'wpemoji' ) );
} else {
return array();
}
}
Teraz oddychamy i udajemy, że ta funkcja nigdy nie została dodana do rdzenia ... szczególnie, gdy mnóstwo nierozwiązanych błędów jest jeszcze zaimplementowanych.
Jest to dostępne jako wtyczka Wyłącz emoji .
Alternatywnie możesz zastąpić uśmieszki oryginalnymi wersjami poprzednich wersji WordPressa za pomocą klasycznych uśmieszków .
Możemy również usunąć emoji_svg_url
pobranie wstępne DNS, zwracając wartość false w filtrze (dzięki @yobddigi):
add_filter( 'emoji_svg_url', '__return_false' );
Settings -> Writing
ale jest to zdecydowanie denerwujące. +1
Lepsze rozwiązanie, jeśli chcesz to wyłączyć: użyj wtyczki.
Taki sam kod jak w komentarzach Christine: https://wordpress.org/plugins/disable-emojis/
Ten sam kod, który także naprawia uśmieszki, które są starsze: https://wordpress.org/plugins/classic-smilies/
Źródło: Ja, odkąd napisałem ten kod. https://plugins.trac.wordpress.org/changeset/1142480/classic-smilies
Jest to prosty sposób na usunięcie emoji. Dodaj poniższy kod do swojegofunction.php
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'wp_print_styles', 'print_emoji_styles' );
init
. Zobacz moją odpowiedź .
Jeśli chcesz, aby zapobiec automatycznemu Wordpress konwersji starych buźki szkoła ASCII na Unicode emotikony (jak ;-)
do 😉
) w swoich postach całkowicie, może chceszremove_filter('the_content', 'convert_smilies')
(Nie jestem w 100% pewien, że o to właśnie chodzi, ale to rozwiązało mój problem i mam nadzieję, że może się przydać).
Próbowałem kilka kodów powyżej, ale jedyne kody działają po mojej stronie to ten.
Nie zapomnij wykonać kopii zapasowej pliku functions.php przed zaimplementowaniem tych kodów.
// 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' );
add_action( 'init', 'disable_wp_emojicons', 3 );
Dobra wiadomość, dodałem żądanie funkcji:
Wprowadź nową opcję do WordPress WP_EMOICONS tutaj https://core.trac.wordpress.org/ticket/38252
i najwyraźniej zostało to oznaczone jako duplikat https://core.trac.wordpress.org/ticket/32102, więc możemy spodziewać się czegoś takiego
define( 'WP_EMOICONS', false );
w przyszłych wersjach WordPress.
Ponieważ emoji WordPress są obsługiwane przez sworg i nie są kompresowane, wpływa to na czas ładowania SVG w zależności od liczby używanych emoji, a nawet może generować ostrzeżenia w narzędziu Google PageSpeed Insights.
Aby rozwiązać ten problem, możesz wyświetlać emoji bezpośrednio z samej witryny WordPress, a nie wykonując połączenia zewnętrzne za pośrednictwem js.
Można to osiągnąć, instalując wtyczkę Emoji skompresowane, która jest dostępna bezpłatnie w repozytorium wtyczek WordPress.org.
Gdy wtyczka jest aktywowana, kompresja oferuje oszczędności w zakresie od 3kb ~ 1.3kb (około 60%) na emoji.
Źródło: WPTavern