¿Cómo añadir URL externas a títulos de entradas en WordPress?

2

Si tu sitio WordPress tiene un blog adjunto y se da la situación en la que deseas compartir enlaces con tus lectores, puedes enlazar el título de tu entrada a URLs externas. De esta forma, el usuario no tiene que hacer clics de más, es decir, ya no tiene que seleccionar la entrada y luego pinchar sobre el enlace que aparece en dicha entrada.

En este artículo te indicamos cómo puedes añadir URL externas a títulos de entradas en WordPress usando dos métodos distintos.

Mediante el plugin Page Links to

Lo primero que debes hacer es instalar el plugin que te permitirá añadir URL externas a los títulos de tus entradas. En este caso, elegiremos el plugin Page Links to, que es sencillo de usar pues no presenta ninguna opción adicional.

Para poder instalar este plugin debemos dirigirnos a la sección Plugins>Añadir Nuevo que nos llevará a una nueva ventana en donde podremos ver una barra de búsqueda. Allí debes colocar el nombre del plugin Page Links to y pinchar “Instalar” una vez que aparezca el resultado.

como-anadir-url-externas-a-titulos-de-entradas-en-wordpress-mediante-plugin-instalacion

La instalación no tomará más de 5 minutos. Pero recuerda que deberás activar el plugin antes de usarlo. Por suerte, puedes activarlo de inmediato desde la misma página de instalación.

como-anadir-url-externas-a-titulos-de-entradas-en-wordpress-mediante-plugin-activacion

Una vez que el plugin esté instalado y activado, deberás dirigirte a cualquier entrada o crear una entrada nueva. En el editor de entradas de WordPress notarás un nuevo cuadro que dice “Page Links”. Para poder añadir un enlace externo al título de tu entrada en WordPress, deberás seleccionar “Una url personalizada” y colocar la URL completa de la página a la cuál deseas enlazar.

como-anadir-url-externas-a-titulos-de-entradas-en-wordpress-mediante-plugin-PageLinksTo

Una vez terminado este proceso simplemente tienes que guardar los cambios en tu entrada y dirigirte a la página principal de tu sitio WordPress para verificar si el título de la entrada seleccionada se enlaza a la URL que has colocado anteriormente.

Ten en consideración que este plugin también puede usarse para añadir enlaces internos en los títulos de tus entradas. Es decir, enlaces a entradas antiguas o páginas de tu propio sitio WordPress.

Modificando el código interno de tu instalación WordPress

Como el título indica, este método requiere que añadas código a tu sitio WordPress. Es una modificación sencilla y si prefieres realizar este cambio de manera manual en vez de instalar un nuevo plugin en tu sitio, aquí te indicamos cómo hacerlo paso a paso.

Lo primero que debes hacer es buscar el archivo “functions.php debería estar dentro de la carpeta wp_includes dentro de la instalación de WordPress. Una vez abierto debes copiar el siguiente código a dicho archivo:

function print_post_title() {
global $post;
$thePostID = $post->ID;
$post_id = get_post($thePostID);
$title = $post_id->post_title;
$perm = get_permalink($post_id);
$post_keys = array(); $post_val = array();
$post_keys = get_post_custom_keys($thePostID);

if (!empty($post_keys)) {
foreach ($post_keys as $pkey) {
if ($pkey=='external_url') {
$post_val = get_post_custom_values($pkey);
}
}
if (empty($post_val)) {
$link = $perm;
} else {
$link = $post_val[0];
}
} else {
$link = $perm;
}
echo '<h2><a href="'.$link.'" rel="bookmark" title="'.$title.'">'.$title.'</a></h2>';
}

Lo que hace este código es simplemente buscar un campo personalizado que contenga la URL. Si la entrada tiene el campo personalizado, simplemente enlaza el título de la entrada a la URL.

El siguiente paso es reemplazar el modo en el que el tema instalado en tu sitio permite la visualización de los títulos de entradas. Esta función se encuentra en archives.php, contents.php o category.php dentro de wp-content>themes. Si tienes instalados varios temas es probable que existan varias carpetas. Deberás seleccionar aquella carpeta donde se encuentra instalado tu tema actual.

Una vez que encuentres el archivo deberás encontrar este código:

<?php the_title( sprintf( '<h2 class="entry-title"><a href="%s" rel="bookmark">', esc_url( get_permalink() ) ), '</a></h2>' ); ?>

Y reemplazarlo por este otro:

<?php print_post_title() ?>

Recuerda guardar los cambios en los archivos para poder verlos reflejados dentro de tu panel de control de WordPress.

Ahora, para poder añadir enlaces externos a los títulos deberás usar la opción “Campos personalizados” dentro de tu editor de entradas de WordPress. Si no puedes visualizar esta opción deberás activarla en Opciones de pantalla, pinchando sobre la casilla de verificación respectiva.

como-anadir-url-externas-a-titulos-de-entradas-en-wordpress-mediante-codigo-activar-campos-personalizados

En el cuadro de “Campos personalizados” deberás seleccionar “Nuevo” para poder activar los campos “Nombre” y “Valor”. En el campo nombre deberás colocar “external_url” y en el campo valor la URL completa de la página o sitio al que deseas enlazar.

como-anadir-url-externas-a-titulos-de-entradas-en-wordpress-mediante-codigo-modificar-campos-personalizados

En las próximas entradas en donde quieras enlazar el título simplemente deberás seleccionar “external_url” del menú desplegable y colocar la URL externa para dicha entrada. Las entradas anteriores que hayas enlazado a otras páginas no se modifican, por lo que no debes preocuparte.

Comparte este post.
Artículos Recomendados Para Tí:

2 Comments

  1. Impresionante el script.

    Me ha venido de lujo. Además lo he “adaptado” en un snnipets, así aunque cambie de themes siempre me acompañara.

    En cuanto a cambiar las plantillas, al trabajar con Genesis, sólo he tenido que crear un filtro del tipo :
    add_filter(‘genesis_post_title_text’, ‘jb_nuevo_titulo_post’, 1 );
    function jb_nuevo_titulo_post($title) {

    $title = print_post_title() ;

    return $title;
    }

    Funciona a la perfección.

    Mil Gracias.
    Jesús Bédmar

  2. Nicolas Romero en

    Pense que este plugin era la solucion que estaba buscando, pero he notado que una vez que reemplaza la URL de la entrada por la externa, no puedes ingresar a esa entrada de ninguna forma. Sòlo te envìa a la URL externa. En cambio, lo que estoy necesitando es que solamente el tìtulo envìe a una pagina externa, mientras que si cliqueo por ejemplo en la “imagen” de la noticia, o en “Leer Mas” me lleve a la entrada en cuestion. Hay alguna forma de realizar el cambio de url solo para el tìtulo de la entrada? Probe metiendo html puro en el titulo algo asì Titulo pero no ha funcionado.