Sustituir palabras por enlaces

Reemplazar palabras por enlaces en nuestras entradas

En algunas ocasiones puede ser de utilidad crear una función para automatizar un proceso como por ejemplo sustituir palabras por enlaces dentro del contenido de nuestros posts, similar a lo que podemos encontrar en Wikipedia.

Imaginemos que en un blog como puede ser este me interese enlazar palabras como WordPress, jQuery, PHP, Bootstrap a sus respectivas páginas oficiales, o a listados de categorías/etiquetas dentro del mismo blog…

Para crear un proceso automático lo que haremos será definir un array con las palabras clave que queremos reemplazar y qué enlaces queremos definir para cada una de ellas. Crearemos una función en el archivo functions.php que hará un reemplazo de estas palabras dentro del filtro the_content:

<?php

function my_replace_keywords($content){
  $my_keywords = array(
    'WordPress' => '<a href="https://wordpress.org/">WordPress</a>',
    'jQuery' => '<a href="https://jquery.com/">jQuery</a>',
    'PHP' => '<a href="http://php.net/">PHP</a>',
    'Bootstrap' => '<a href="http://getbootstrap.com/">Bootstrap</a>',
    'seguridad' => '<a href="https://desarrollowp.com/tag/seguridad/">seguridad</a>',
  );
  $content = str_replace(array_keys($my_keywords), $my_keywords, $content);

  return $content;
}
add_filter( 'the_content', 'my_replace_keywords' );

Ésto puede personalizarse en función de las necesidades de cada uno. Puede que te interese enlazar las palabras sólo en caso concretos, para eso sólo tendrías que generar tu propio sistema de reemplazo utilizando open/close tags, por ejemplo: «–WordPress–«, «–jQuery–«, etc…

También sería válido para resaltar código con etiquetas HTML como <strong></strong>, <em></em>, etc…

¿Te ha resultado útil esta información? 🍺

Si este post te ha resuelto un problema, invítame a un café o a una cerveza. Con este pequeño gesto me animas a seguir escribiendo.

Comentarios

Deja un comentario

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

  • El fin del tratamiento es únicamente la moderación de comentarios para evitar spam
  • La legitimación es tu consentimiento al comentar
  • No se comunicará ningún dato a terceros salvo por obligación legal
  • Tienes derecho al acceso, rectificación y eliminación de los comentarios