• Saltar a la navegación principal
  • Saltar al contenido principal
  • Saltar al pie de página
Pampua

Pampua

Diseño web y marketing online

  • Servicios
    • Diseño web
    • Marketing digital
    • Mantenimiento web
  • Portfolio
  • Sobre mi
  • Blog
  • Contacto

Mostrar posts relacionados en Genesis sin plugins

En este artículo te comparto el código que necesitas para mostrar posts relacionados al final de tus artículos de Genesis sin usar plugins.

13/05/2019 Por Ramón Deja un comentario

Es una muy buena idea proponer al final de tus artículos un listado de post relacionados para ofrecerle al usuario opciones para seguir navegando por tu sitio web y que no se encuentre en un «callejón sin salida»

Hay multitud de plugins que te permiten hacer eso, pero cada plugin que instalas es una puerta a posibles vulnerabilidades y ataques hacia tu web, así que cuantos menos plugins instales, mucho mejor.

Es por eso que he querido compartir contigo este código, que si lo copias en el archivo functions.php te brindará esta opción con sólo unas pocas líneas de código.

Antes de cambiar cualquier cosa, haz siempre una copia de seguridad.

Si te da miedo tocar el archivo functions.php ponte con contacto conmigo y te lo configuro por 30€.

Para ver el resultado de este código funcionando, sólo tienes que bajar hasta el final del post y ver los artículos relacionados que te propone 😉

add_action( 'genesis_after_entry_content', 'sk_related_posts', 12 );

function sk_related_posts() { global $do_not_duplicate;

if ( ! is_singular ( 'post' ) ) { return; }

$count = 0; $related = ''; $do_not_duplicate = array(); $cats = wp_get_post_categories( get_the_ID() );

// If we have some categories and less than 5 posts, run the cat query.
if ( $cats && $count <= 4 ) { $query = sk_related_cat_query( $cats, $count ); $related .= $query['related']; $count = $query['count'];}

// End here if we don't have any related posts.
if ( ! $related ) { return; }

// Display the related posts section.
echo '<div class="related-posts">';
echo '<h3 class="related-title">Quizá te interese:</h3>';
echo '<div class="related-posts-list" data-columns>' . $related . '</div>';
echo '</div>';

}

function sk_related_cat_query( $cats, $count ) {

global $do_not_duplicate;

if ( ! $cats ) {
return;
}

$postIDs = array_merge( array( get_the_ID() ), $do_not_duplicate );

$catIDs = array();

foreach ( $cats as $cat ) {
if ( 3 == $cat ) {
continue;
}
$catIDs[] = $cat;
}

$showposts = 3 - $count;

$tax_query = array(
array(
'taxonomy' => 'post_format',
'field' => 'slug',
'terms' => array( 'post-format-link', 'post-format-status', 'post-format-aside', 'post-format-quote' ),
'operator' => 'NOT IN'
)
);
$args = array(
'category__in' => $catIDs, 'post__not_in' => $postIDs, 'showposts' => $showposts, 'ignore_sticky_posts' => 1, 'orderby' => 'rand', 'tax_query' => $tax_query,
);

$related = '';

$cat_query = new WP_Query( $args );

if ( $cat_query->have_posts() ) {
while ( $cat_query->have_posts() ) {
$cat_query->the_post();

$count++;

/*$title = genesis_truncate_phrase( get_the_title(), 35 );*/
$title = get_the_title();

$related .= '<div class="one-third">';
$related .= '<a class="related-image" href="' . get_permalink() . '" rel="bookmark" title="Enlace a ' . $title . '">' . genesis_get_image( array( 'size' => 'related' ) ) . '</a>';
$related .= '<div class="one-copy">';
$related .= '<a class="related-post-title" href="' . get_permalink() . '" rel="bookmark" title="Enlace a ' . $title . '">' . $title . '</a>';
$related .= '</div>';
$related .= '</div>';

}
}

wp_reset_postdata();

$output = array( 'related' => $related, 'count' => $count );

return $output;

}

Si usas Genesis Framework es posible que te interese conseguir las 97 plantillas premium que regalo con mi curso de Genesis

Y si todavía no lo usas, te recomiendo que le des una oportunidad, tienes muchas razones para usar Genesis Framework

Quizá te interese:

Personalizar icono del plugin Google Reviews Widget
Cómo limpiar la base de datos de Magento
Ventajas e inconvenientes de usar WhatsApp en tu web

Publicado en: Diseño web Etiquetado como: genesis

Interacciones con los lectores

Deja una respuesta Cancelar la respuesta

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Footer

Contacta conmigo

De L a V de 9:00 – 21:00
Av. Maisonnave, 5, 8D, 03003 Alicante
Aviso legal - Privacidad
© 2002–2023 Ramón Prats

Podcast

En los 122 episodios del podcast "Diseño Web" he ido compartiendo un montón de consejos para que puedas optimizar tu web fácilmente.

Newsletter

Apúntate y accede a contenido exclusivo gratis con el que quincenalmente te ayudaré a mejorar tu presencia online.

Blog

Lee las últimas publicaciones del blog o mejor aún, suscríbete por RSS. Dicen que de vez en cuando publico algo interesante ;-)

Uso las dichosas cookies para darte una mejor experiencia en esta web.

Puedes informarte más sobre qué cookies uso o desactivarlas en los AJUSTES.

Powered by  GDPR Cookie Compliance
Resumen de privacidad

Utilizo las cookies en mi web para poder ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a visitar la web o ayudarme a comprender qué secciones de la web encuentras más interesantes y útiles.

Cookies estrictamente necesarias

Las cookies estrictamente necesarias tiene que activarse siempre para que podamos guardar tus preferencias de ajustes de cookies.

Si desactivas esta cookie no podremos guardar tus preferencias. Esto significa que cada vez que visites esta web tendrás que activar o desactivar las cookies de nuevo.

Cookies de terceros

Esta web utiliza Google Analytics para recopilar información anónima tal como el número de visitantes del sitio, o las páginas más populares.

Dejar esta cookie activa nos permite mejorar nuestra web.

¡Por favor, activa primero las cookies estrictamente necesarias para que podamos guardar tus preferencias!