Insertar CODE, HTML o PHP: // Función para obtener artículos relacionados basados en etiquetas function obtener_articulos_relacionados() { global $post; $tags = wp_get_post_tags($post->ID); if ($tags) { $tag_ids = wp_list_pluck($tags, 'term_id'); $current_post_id = $post->ID; $args = array( 'tag__in' => $tag_ids, 'posts_per_page' => 5, 'ignore_sticky_posts' => 1 ); $related_posts = new WP_Query($args); $output = ''; if ($related_posts->have_posts()) { $output .= '<h3 class="related-posts">Artículos relacionados</h3><ul>'; while ($related_posts->have_posts()) { $related_posts->the_post(); // Excluir la entrada actual if ($post->ID !== $current_post_id) { $output .= '<li><a href="' . get_permalink() . '">' . get_the_title() . '</a></li>'; } } $output .= '</ul>'; } wp_reset_postdata(); return $output; } } // Widget personalizado para mostrar artículos relacionados en la barra lateral class Custom_Related_Posts_Sidebar_Widget extends WP_Widget { function __construct() { parent::__construct( 'custom_related_posts_sidebar_widget', 'Artículos Relacionados (Sidebar)', array('description' => 'Muestra artículos relacionados en la barra lateral.') ); } public function widget($args, $instance) { if (is_single()) { echo $args['before_widget']; echo $args['before_title'] . '' . $args['after_title']; // Muestra los artículos relacionados en la barra lateral echo obtener_articulos_relacionados(); echo $args['after_widget']; } } } function register_custom_related_posts_sidebar_widget() { register_widget('Custom_Related_Posts_Sidebar_Widget'); } add_action('widgets_init', 'register_custom_related_posts_sidebar_widget'); Este código personalizado utiliza la función wp_get_post_tags() para recuperar las etiquetas del artículo actual, y luego utiliza la taxonomía de etiquetas para encontrar otros artículos que compartan las mismas etiquetas. Si no encuentra posts relacionados, no muestra nada. Lo estoy probando y funciona aceptablemente escogiendo entradas relacionadas. Añade este código al functions.php de tu child theme y luego ya deberías ver el widget Articulos relacionados en tu dashboard que podrás añadirlo.
Insertar CODE, HTML o PHP: function custom_related_posts() { global $post; $tags = wp_get_post_tags( $post->ID ); if ( $tags ) { $tag_ids = array(); foreach( $tags as $individual_tag ) $tag_ids[] = $individual_tag->term_id; $args = array( 'tag__in' => $tag_ids, 'post__not_in' => array( $post->ID ), 'posts_per_page' => 3, 'ignore_sticky_posts' => 1 ); $related_posts = new WP_Query( $args ); if ( $related_posts->have_posts() && is_single()) { echo '<h3 class="related-posts">También te puede gustar:</h3><ul>'; while ( $related_posts->have_posts() ) { $related_posts->the_post(); ?> <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li> <?php } echo '</ul>'; } wp_reset_postdata(); } } add_action( 'genesis_after_entry_content', 'custom_related_posts' ); Y este código añade los mismos posts relacionados con la misma lógica de arriba pero debajo de la entrada.
Aclaro que esto no es suficiente para igualar la calidad de posts relacionados que ofrecen plugins como Contextual Related Posts de WebberZone. Este plugin es brutal para ello porque como su nombre dice entiende el contexto del post para ofrecer contenido relacionado. Este código es pobre respecto del plugin, pero no se puede obtener mucho más solo simplemente añadiendo un fragmento de código.