O blog estava com esse problema há muuuuito tempo. Do nada, os emoticons animados da coleção Kolobok aplicados pelo Custom Smilies começaram a aparecer comprimidos. Eu sempre fui deixando para depois porque era algo apenas estético mas ontem “baixou um santo” com TOC aqui e tive que consertar vários problemas incluindo este.
Descobri que o problema foi criado pelo upgrade para a versão 4.2 do WordPress (eu fiz o upgrade em dezembro de 2015), quando a equipe de desenvolvimento adicionou suporte a emojis acompanhado de um grande fo**m-se para quem sempre usou smileys no blog e não tem tempo nem inclinação para mudar tudo a cada hora que um novo padrão é criado. Este bug report a respeito do problema foi marcado com o temerário “wontfix” (conhecido eufemismo para: “Eu quero assim. Dane-se.”).
Então eu encontrei este tópico do suporte onde outros usuários do wordpress compartilham possíveis soluções
Solução 1
Acrescente o seguinte ao arquivo functions.php
1 2 |
remove_action( 'wp_head', 'print_emoji_detection_script', 7 ); remove_action( 'wp_print_styles', 'print_emoji_styles' ); |
Funcionou no meu blog de testes mas aqui no Quicktalk foi completamente ignorado.
Solução 2
No arquivo wp-includes/formatting.php trocar isto:
return sprintf( '<img src="%s" alt="%s" class="wp-smiley" style="height: 1em; max-height: 1em;" />', esc_url( $src_url ), esc_attr( $smiley ) );
por isto:
return sprintf( '<img src="%s" alt="%s" />', esc_url( $src_url ), esc_attr( $smiley ) );
Isso resolveu o problema neste blog e deve resolver em todos os casos, mas formatting.php é um “core file” e devemos evitar mexer com eles.
Solução 3
Instalar o plugin Classic Smilies
Não funciona para mim porque o plugin impede o funcionamento do plugin Custom Smilies. Pior que isso: ele apaga as configurações do plugin e você tem que fazer de novo.
Solução 4
Baseada no código fonte de Classic Smilies. Acrescente isso em functions.php:
1 2 3 4 5 6 7 8 9 10 |
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_action( 'init', 'disable_emojis' ); |
E isto não é dito onde se coloca, mas eu suponho que seja no arquivo style.css do tema:
1 2 3 4 5 |
img.wp-smiley, img.emoji { height: auto!important; max-height:100%!important; width: 100%!important; } |
Provavelmente não é, porque também não funcionou aqui no blog. Por ora estou me contentando com a solução 2, que funciona.
Meu problema com a decisão dos desenvolvedores do WordPress não foi a modificação que fizeram, porque ela faz sentido. Todos os emoticons são comprimidos para ficar da altura do texto e assim as linhas com emoticons não arriscam ficar mais altas que as outras. O problema é a recusa em acrescentar uma simples opção para ativar isso apenas se o o dono do blog quiser. Todo usuário do WordPress cujo blog tinha o “problema” que eles consertaram não via isso como um problema. Se eu quisesse emoticons minúsculos eu não teria passado por cima dos emoticons default e instalado emoticons grandes.
A solução 4 funciona no meu blog de testes. Aparentemente depende do tema. Mas houve um problema: o emoticon fica gigante, crescendo até ocupar toda a largura da caixa de comentário. Provavelmente uma alteração cuidadosa dos atributos deve resolver isso.
Solução que funcionou pra mim e foi a prova de futuros updates do WordPress aqui:
http://www.crashcomputer.caetano.eng.br/?p=5353
Da uma olhada no CSS que eu usei, que também conserta o problema de alinhamento, minha TOC não deixava eles ficarem desalinhados.
Em tempo, a inserção automática dos smiles parece não estar funcionando.
Rapaz, se eu vira aquele seu post não dei atenção por causa do título. Suporte a emoji para mim “nem fedia nem cheirava”
Eu me lembro vagamente de você ter dito a mim que tinha resolvido isso e se oferecido para ajudar, mas não consegui encontrar a sua mensagem sobre isso nos meus emails e acabei achando que tinha sido imaginação minha, por isso parti para pesquisar com o Google.
Ficou boa a sua explicação. Você se deu ao trabalho de mostrar como os emoticons ficam pequenos pela nova regra. Eu até pensei em fazer isso mas deu uma preguiiiiça…
Em tempo, o CSS que você usou com max-height:100%!important;
width: 100%!important;
É o que causa o problema do emoticon ficar gigante.
Isso eu sabia. O “100%” deixa meio óbvio. O que eu não entendi realmente foi como o cara que deu a dica disse que isso resolveu o problema dele. E não sabia como consertar. A sua dica do “inherit” eu vou testar mais tarde.
Mais uma vez eheheh…
Veja se é compatível com o seu tema:
https://br.wordpress.org/plugins/simple-comment-editing/
Instalei no meu blog, traduzi as palavras na marra editando os arquivos e ficou belezinha. Habilitei pra 10 minutos ao invés dos 5 minutos padrão dele.
Agora estou apanhando com o velho comment ratings que já usava e parou de funcionar, é xilique com acesso ao mysql, estou apanhando pra descobrir o que está errado.
Eu habilitei mas ainda não estou certo de que esteja funcionando direito.
O WordPress se atualizou automaticamente hoje (inesperado) e apagou a modificação que fiz (esperado). As soluções 1, 3 e 4 ainda não funcionam neste blog por isto tive que reaplicar a solução 2.