Go to English Blog

Wordpress e algumas coisas irritantes

Leia em menos de um minuto

O Wordpress é um dos melhores, se não o melhor, sistema de blogs da atualidade. Mas algumas coisas me irritam muito. Posso citar aqui de bate-e-pronto duas: a conversão de aspas e hífens. Se você posta códigos no seu blog, já deve ter enfrentado isso. Hoje fui postar um trecho de código que tinha aspas simples e dois hífens (parâmetro de um comando). O WP insistia em converte-los em entidades.

Fiquei de saco cheio e criei um plugin. Se você sofre dos problemas que eu falei, instale este plugin agora mesmo! Basta baixar o arquivo wp_coders.php e salvar na pasta "plugins". Depois, ative-o na seção "Plugins" do painel administrativo. Veja o código do plugin:

<?php
/*
Plugin Name: wp_coders
Plugin URI: http://nandovieira.com.br/wp-coders
description: "Removes WP annoyances (quotes and dashes)"
Author: Nando Vieira
Version: 1.0
Author URI: http://nandovieira.com.br
*/

class wp_coders
{
    function wp_coders()
    {
        add_filter('comment_author', array(&$this, 'normalize'), 20);
        add_filter('comment_text', array(&$this, 'normalize'), 20);
        add_filter('bloginfo', array(&$this, 'normalize'), 20);
        add_filter('category_description', array(&$this, 'normalize'), 20);
        add_filter('list_cats', array(&$this, 'normalize'), 20);
        add_filter('the_content', array(&$this, 'normalize'), 20);
        add_filter('the_excerpt', array(&$this, 'normalize'), 20);
        add_filter('single_post_title', array(&$this, 'normalize'), 20);
        add_filter('the_title', array(&$this, 'normalize'), 20);
    }

    function normalize($text = '')
    {
        $text = str_replace(
            array('&#8212;', ' &#8212; ', '&#8211;'),
            array('---', ' -- ', '--'),
            $text
        );

        $text = str_replace(array("&#8216;", "&#8217;", "&#8242;"), "&#039;", $text);
        $text = str_replace(array("&#8220;", "&#8221;", "&#8243;"), "&#034;", $text);

        return $text;
    }
}

$wp_coders =& new wp_coders();
?>