Snippets e Shortcodes

Como remover aspas inglesas no WordPress

As aspas inglesas são um problema para quem costuma publicar scripts. Resolva com três linhas de código no functions.php.
Google+ Pinterest LinkedIn Tumblr

As famigeradas aspas inglesas (aquelas “curvadinhas”) são um transtorno para quem tem sites ou blogs em WordPress. Especialmente se costuma escrever sobre design web, ou publica códigos e scripts.

O WordPress tem uma função que substitui as aspas comuns (” “) por inglesas (“ ”). As aspas retas foram inseridas ainda no tempo das máquinas e continuaram nos teclados de computador, e embora não sejam erradas, há quem veja nas curvas (também conhecidas como aspas de tipógrafo ou de tipografia) um padrão clássico a ser seguido.

Só que muitas linguagens de programação usam aspas retas. Ao digitar o código no seu post, elas são substituídas pelas inglesas no texto final e tornam o código inválido ou quebrado. Quem vai copiar o código é obrigado a perceber se isso ocorreu e fazer manualmente a reposição por aspas retas. Lógico que muitos não notarão e vai sobrar pra você…

Há plugins que resolvem o problema, mas não tem necessidade. Podemos dar cabo do problema com um pouquinho de código.

Opção 1: adeus função

Abra seu arquivo functions.php  e insira a seguinte função antes do sinal ?> no final da página (ou em outro ponto, se você souber o que está fazendo):

remove_filter('the_content', 'wptexturize'); // impede aspas inglesas no conteúdo
remove_filter('comment_text', 'wptexturize'); // impede nos comentários
remove_filter('the_excerpt', 'wptexturize'); // impede nos resumos dos posts

Isto cancela o filtro wptexturize, que formata certos caracteres nos posts. Envie o functions.php atualizado para o servidor e visite seu blog. Quaisquer aspas em seus formatos originais serão mantidas na artigo publicado. Teste e comprove!

Importante

Para alguns, pode ser mais útil usar as tags que não são afetadas pelo wptexturize. São elas: <pre>, <code>, <kbd>, <style>, <tt><script>. A solução apresentada aqui é para casos diferentes, de códigos que não são colocados entre alguma dessas tags.

Note que a eliminação do wptexturize vai impedir outras formatações automáticas, como transformar ™ em ™, x (letra x minúscula) em contas por × (sinal de vezes), etc. Nada que tenha me causado transtorno até hoje…

Opção 2: filtro por tag

Se não quiser eliminar o wptexturize em todo o conteúdo, você pode usar o filtro “no_texturize_tags” para evitar a “texturização” só dentro de outras tags HTML.

Exemplo:

add_filter( 'no_texturize_tags', 'my_no_texturzie_tags' );
function my_no_texturzie_tags( $tags ) {
	
	$tags[] = 'blockquote';
	return Stags;
}

Isso adicionado ao seu arquivo functions.php vai impedir o wptexturize dentro de blocos tipo “blockquote”, fora aquelas tags já citadas antes.

⚙️

Lembre que isso tudo vale para instalações próprias do WordPress, já que no WordPress.com você não tem acesso ao arquivo functions.php. Mais sobre as diferenças entre WordPress.com e WordPress.org aqui.

Anúncios Google

Fundador do Tutoriart em 2010, é ex-instrutor de Photoshop, design web e gráfico. Em quase uma década de redação online, tem cerca de 1500 artigos publicados. Gerencia também o Memória BIT.

Deixe um Comentário

Pin