Cómo cambiar, moderar, sustituir o reemplazar textos en WordPress

¡Vamos a jugar a ser Dios!

Bueno, nos conformamos con ser el editor jefe de nuestro sitio de momento e imaginamos que gestionamos un sitio multiusuario en el que nos gustaría, o hemos decidido, que no se escriban ciertas palabras mal, o simplemente sustituir unas palabras con otras.

¿Os acordáis de lo que hacía el filtro capital_p_dangit al forzarnos a escribir bien WordPress, desde la versión 3.0?, pues algo parecido, pero aquí mandamos nosotros.

Para ello, por ejemplo, nos ponemos en el papel del editor jefe de la BBC y vamos a cabrear a los españoles (si, hoy me siento malo). Para ello abrimos el fichero functions.php del tema activo en nuestro sitio y elaboramos nuestra lista de palabras prohibidas, con sus consiguientes sustitutas:

function palabra_prohibida($content) {
$str = "terrorista"; //la palabra a reemplazar
$newstr = "separatista armada"; //la nueva palabra
$html = str_replace($str, $newstr, $content);
return $html;
}
add_filter('the_title', 'palabra_prohibida',1); //Reemplaza la palabra en el título
add_filter('the_content', 'palabra_prohibida',1); //Reemplaza la palabra en el contenido
add_filter('comment_text', 'palabra_prohibida',1); //Reemplaza la palabra en los comentarios

Lo que hemos conseguido con este código es que cuando un periodista desconocedor de nuestra «línea editorial» escriba la palabra prohibida, ya sea en el título o en el contenido, esta sea sustituida por la palabra «políticamente correcta«. Y no solo eso, sino que también extendemos nuestra línea editorial a los comentarios de los lectores, con la línea número 9.

Y si quieres usar este truco para varias palabras sería algo así:

function palabra_prohibida($content) {
$str = array("palabra1", "palabra2", "palabra3"); //las palabras a reemplazar
$newstr = array("reemplazo1", "reemplazo2", "reemplazo3"); //las nuevas palabras
$html = str_ireplace($str, $newstr, $content);
// str_replace es sensible a mayusculas... str_ireplace no lo es.
return $html;
}
add_filter('the_title', 'palabra_prohibida',1); //Reemplaza la palabra en el título
add_filter('the_content', 'palabra_prohibida',1); //Reemplaza la palabra en el contenido
add_filter('comment_text', 'palabra_prohibida',1); //Reemplaza la palabra en los comentarios

 

¡Genial! … ¿o no?

VALORA Y COMPARTE ESTE ARTÍCULO PARA MEJORAR LA CALIDAD DEL BLOG…
(4 votos, promedio: 4.8)

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

AVISO: Esta publicación es de hace 3 años o más. Si es un código o un plugin podría no funcionar en las últimas versiones de WordPress, y si es una noticia podría estar ya obsoleta. Luego no digas que no te hemos avisado.

9 comentarios en “Cómo cambiar, moderar, sustituir o reemplazar textos en WordPress”

  1. Muy interesante Fernando! pero si es una lista de… por ejemplo, 10 palabras, se debe crear 10 veces este código de 9 líneas? o hay forma de utilizar comas y separar palabra por palabra, ejemplo así:

    $str = "palabra1, palabra2, palabra3, palabra4 "; //la palabra a reemplazar

    $newstr = "reemplazo1, reemplazo2, reemplazo3, reemplazo4 "; //la nueva palabra

    Saludos!

  2. Con un poco de ingenio podemos hacer que "eres un gilipollas" se transforme en "eres un genio"… o mejor aún, podemos utilizar este código para erradicar a los HOYGAN (aunque ahí si que sería un ladrillo de código)

    Muy util el truco 😉

    Saludos!

  3. Yo creo que mas de un busquilla programador podría ir un paso mas allá con esto. Por ejemplo, que se alimente de un archivo de texto, donde sea facil ingresar cadenas y palabras incorrectas con sus reemplazos y así no estar tocando el código a cada momento, solo un txt adjunto

  4. @illi.pro Esto debería servir.

    <code>

    function palabra_prohibida($content) {

    $str = array("palabra1", "palabra2", "palabra3"); //las palabras a reemplazar

    $newstr = array("reemplazo1", "reemplazo2", "reemplazo3"); //las nuevas palabras

    $html = str_ireplace($str, $newstr, $content);

    // str_replace es sensible a mayusculas… str_ireplace no lo es.

    return $html;

    }

    add_filter('the_title', 'palabra_prohibida',1); //Reemplaza la palabra en el título

    add_filter('the_content', 'palabra_prohibida',1); //Reemplaza la palabra en el contenido

    add_filter('comment_text', 'palabra_prohibida',1); //Reemplaza la palabra en los comentarios

    </code>

    Lo que dijo @Guido se puede hacer… Hasta se podría hacer un plugin con esto. De seguro lo usaría mucha gente.

  5. Y su al "resultado", es decir, a las nuevas palabras quiero ponerle algún estilo de colores o así? Cómo hago? Agradeceré alguna ayuda.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

 

Ir arriba Ir al contenido