Envato Elements - pobierasz co chcesz, ile chcesz

Zapytała mnie koleżanka, dlaczego u mnie we wpisach „mordki” (np. ;-)) widać jako zwykłe połączenie znaków, a nie jak u niej – w formie graficznego Emoji. Moja odpowiedź była prosta – bo mam tak ustawione w ustawieniach WordPressa. I choć była to jak najbardziej prawdziwa odpowiedź, to… dotyczy tylko stron, które zostały uruchomione na starszych wersjach WordPressa. W przypadku nowszych instalacji takiej opcji nie ma, i trzeba zastosować inne metody by wyłączyć Emoji…

Wyłączenie Emoji w WordPress

WordPress na którym działa WebInsider.pl działa od bardzo dawna, i choć w międzyczasie przeszedł sporo zmian (i aktualizacji), to niektóre elementy wyglądają tak a nie inaczej właśnie ze względu na staż.

I tak np. w ustawieniach (ustawienia -> pisanie) mam opcję pozwalającą mi włączyć lub wyłączyć obsługę Emoji:

Konwertuj emotikony, takie jak :-) i :-P, na obrazki podczas ich wyświetlania

Tej opcji nie ma (przynajmniej teoretycznie) w WordPressach, które zostały uruchomione relatywnie niedawno:

Napisałem, że przynajmniej teoretycznie, bo gdy zajrzymy do pliku:

/wp-admin/options-writting.php

widać tam taki kod:

<?php if ( get_site_option( 'initial_db_version' ) < 32453 ) : ?>
<tr>
<th scope="row"><?php _e('Formatting') ?></th>
<td><fieldset><legend class="screen-reader-text"><span><?php _e('Formatting') ?></span></legend>
<label for="use_smilies">
<input name="use_smilies" type="checkbox" id="use_smilies" value="1" <?php checked('1', get_option('use_smilies')); ?> />
<?php _e('Convert emoticons like <code>:-)</code> and <code>:-P</code> to graphics on display') ?></label><br />
<label for="use_balanceTags"><input name="use_balanceTags" type="checkbox" id="use_balanceTags" value="1" <?php checked('1', get_option('use_balanceTags')); ?> /> <?php _e('WordPress should correct invalidly nested XHTML automatically') ?></label>
</fieldset></td>
</tr>
<?php endif; ?>

Jest tutaj warunek (if), który sprawdza parametr „initial_db_version”, i jeśli jest on mniejszy niż „32453”, to wspomniane opcje są wyświetlane. W innym przypadku ich nie ma. Tak więc by przywrócić opcję zarządzania konwersją ;-) na Emoji wystarczy zmienić ten parametr, co regularnie robię od dawna na wielu stronach.

Najprościej dokonać podmiany wartości parametru „initial_db_version” korzystając z „dużych ustawień” WordPressa, do których można się dostać np. za pomocą adresu URL:

https://[ADRES-STRONY]/wp-admin/options.php

Tam, wśród naprawdę dużej liczby opcji znajdziemy też możliwość zmiany wartości dla initial_db_version”:

Zmiany można też dokonać np. z poziomu PhpMyAdmin (dostępny chyba w każdym hostingu), za pomocą np. takiego zapytania SQL:

UPDATE `nazwa_bazy_danych`.`wp_options` SET `option_value` = '18226' WHERE `wp_options`.`option_name` = 'initial_db_version';

Można też dodać kod np. do pliku functions.php (przypominam o motywach potomnych ;-)), który sprawdzi jaką mamy wartość zapisaną w bazie danych, i w razie potrzeby dokona modyfikacji:

add_action( 'init', 'webinsider_wp_initial_db_version' );
function webinsider_wp_initial_db_version() {
	if ( get_site_option( 'initial_db_version' ) >= 32453 ) {
		update_option( 'initial_db_version', '18226' );
	}
}

Po wprowadzeniu kodu wystarczy odświeżyć stronę by zmiana została wprowadzona. Po tej operacji najlepiej go usunąć – choć nie będzie przeszkadzał, to jest (już) zbyteczny. W ustawieniach WordPressa (ustawienia -> pisanie) powinna pojawić się odpowiednia opcja:

Jest to wersja którą ja preferuje, bo daje użytkownikowi (z odpowiednimi uprawnieniami) możliwość samodzielnego zarządzania czy chce konwertować emotikony, takie jak :-) i :-P, na obrazki podczas ich wyświetlania, czy nie.

Natomiast można wyłączyć obsługę Emoji permanentnie (do usunięcia kodu ;-)) dodając/modyfikując odpowiednie filtry, np. za pomocą kodu w pliku functions.php (ponownie przypominam o motywach potomnych ;-)):

add_filter( 'option_use_smilies', '__return_false' );
add_filter( 'emoji_svg_url', '__return_false' );

Ew. w wersji „bardziej kompleksowej”:

function disable_emojis() {
	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_action( 'admin_print_styles', 'print_emoji_styles' );	
	remove_filter( 'the_content_feed', 'wp_staticize_emoji' );
	remove_filter( 'comment_text_rss', 'wp_staticize_emoji' );	
	remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
	add_filter( 'tiny_mce_plugins', 'disable_emojis_tinymce' );
	add_filter( 'wp_resource_hints', 'disable_emojis_remove_dns_prefetch', 10, 2 );
}
add_action( 'init', 'disable_emojis' );

Oczywiście wszystkie powyższe zmiany mają sens tylko wtedy, gdy – tak jak ja – w tekstach na stronie wolicie piękne :-) zamiast kolorowych Emoji… ;-)

(!) Zgłoś błąd na stronie
Potrzebujesz profesjonalnej pomocy? Skontaktuj się z nami!
Spodobał Ci się artykuł? Zapisz się do naszego Newslettera - ZERO SPAMu, same konkrety, oraz dostęp do dodatkowych materiałów przeznaczonych dla subskrybentów!
Na podany adres e-mail otrzymasz od nas wiadomość e-mail, w której znajdziesz link do potwierdzenia subskrypcji naszego Newslettera. Dzięki temu mamy pewność, że nikt nie dodał Twojego adresu przez przypadek. Jeśli wiadomość nie przyjdzie w ciągu najbliższej godziny (zazwyczaj jest to maksymalnie kilka minut) sprawdź folder SPAM.
Roztańczona Karolina zapisała się do Newslettera WebInsider.pl i... teraz może tańczyć
WebInsider poleca księgowość wFirma
WebInsider korzysta z VPSa w HitMe.pl
WebInsider poleca VPSy DigitalOcean
WebInsider poleca serwis Vindicat
Napisz komentarz
wipl_napisz-komentarz_01Jeśli informacje zawarte na tej stronie okazały się pomocne, możesz nam podziękować zostawiając poniżej swój komentarz.

W tej formie możesz również zadać dodatkowe pytania dotyczące wpisu, na które – w miarę możliwości – spróbujemy Ci odpowiedzieć.
Linki partnerskie
Niektóre z linków na tej stronie to tzw. „linki partnerskie”, co oznacza, że jeśli klikniesz na link i dokonasz wymaganej akcji (np. zakup/rejestracja) możemy otrzymać za to prowizję. Pamiętaj, że polecamy tylko te produkty i usługi, z których sami korzystamy, i uważamy, że są tego na prawdę warte… :-)
Znaki towarowe i nazwy marek
W niektórych wpisach (oraz innych miejscach na stronie) mogą być przedstawione/użyte znaki towarowe i/lub nazwy marek, które stanowią własność intelektualną tych podmiotów, a zostały użyte wyłącznie w celach informacyjnych.
Roztańczona Karolina skorzystała z promocji dla czytelników WebInsider.pl i zapłaciła 80% mniej za księgowość internetową wFirma