Ticker

6/recent/ticker-posts

Ad Code

Responsive Advertisement

Cómo enlazar a la URL original con Feedzy

Son muchos los que usan el plugin Feedzy para obtener contenido de otras webs para, por ejemplo, hacer un portal de noticias relacionadas, páginas de inicio de comunidades, etc.

La función de este plugin es importar los contenidos a partir de un feed RSS y publicarlos en tu web, como si fuesen entradas propias del sitio.

Hasta aquí bien, porque el plugin funciona perfecto, importa las entradas del feed que le añadas y las publica con todo su contenido, imágenes, etc. en tu web, pero ¿y si quieres que los enlaces de las entradas importadas apunten a las URLs originales en vez de a las entradas creadas automáticamente en tu sitio?

Este sería el modo más ético de usar el plugin Feedzy, pues así puedes mostrar contenido o extractos de otros sitios, pero la atribución siempre será al contenido original, con todos los enlaces apuntando a cada URL de origen.

Lamentablemente no hay ningún ajuste en Feedzy para hacer esto. Si publicas en la página de inicio de tu portal las entradas importadas, tanto el enlace del título, la imagen y el extracto apuntarán a la URL del sitio en el que fueron importadas, en vez de a la URL original.

Otro problema es que, aunque ya te anticipo que es posible hacerlo, sino no estaría escribiendo esto ni tú leyéndolo, no está bien documentado en la web de Feedzy, sino en la de su empresa matriz, ThemeIsle, donde afortunadamente tenemos un montón de filtros que podemos aplicar a Feedzy para modificar su comportamiento.

Y hay un par de filtros que son exactamente lo que buscamos, aunque con alguna pequeña modificación, que ya te incluyo.

Cómo hacer para que el título de las entradas importadas por Feedzy apunte a la URL original

El filtro que debemos aplicar para conseguir que los títulos de las entradas importadas lleven a cada URL original es el siguiente:

/* Redirigir titulo entrada importada por Feedzy a URL original */
add_filter( 'post_link', function( $url, $post ) {
if ( is_admin() ) {
return $url;
}
$id = $post;
if ( is_object( $post ) ) {
$id = $post->ID;
}
$feedzy = get_post_meta( $id, 'feedzy', true );
if ( intval( $feedzy ) === 1 ) {
return get_post_meta( $id, 'feedzy_item_url', true );
}
return $url;
}, 99999, 2 );

Cómo hacer para que el extracto y botón de leer más de las entradas importadas por Feedzy apunte a la URL original

Si, además, quieres que también el extracto y el texto/botón de leer más también enlacen a la entrada original, el filtro sería este otro:

/* Redirigir extracto de entrada importada por Feedzy a URL original */
function new_excerpt_more($more) {
$current_post_id = get_the_ID();
$current_post_meta = get_post_meta($current_post_id);
if (isset($current_post_meta['feedzy_item_url'][0])) {
return ' <a href="' . $current_post_meta['feedzy_item_url'][0] . '">Leer más</a>';
}
return $url;
}
add_filter('excerpt_more', 'new_excerpt_more');

Y ya estaría, solo tienes que añadir los códigos anteriores y estarías enlazando a las URLs originales, tanto desde el título como desde el extracto y botón de leer más.

Si no sabes dónde o cómo añadir estos códigos aquí tienes un tutorial muy sencillo de varias maneras de hacerlo:

Cómo y dónde pegar en WordPress códigos PHP, JS, CSS y funciones que encuentres por ahí

La entrada Cómo enlazar a la URL original con Feedzy la publicó primero Fernando Tellado en Ayuda WordPress. No copies contenido, no dice nada bueno de ti a tus lectores.

Enregistrer un commentaire

0 Commentaires