Community Forums › Forums › Archived Forums › Design Tips and Tricks › Related Posts with Thumbnails
- This topic has 1 reply, 2 voices, and was last updated 7 years, 10 months ago by Christoph.
-
AuthorPosts
-
May 15, 2016 at 8:36 am #185356vangelisbelMember
Hello
I have been using a script for Related Posts with Thumbnails and it worked great. However ever since I changed the number of related posts from 5 to 3, I only see the same 3 related posts under every post of a category (I don't know if that is the problem though).
E.g. The posts in the following category:
http://www.vangelisphotography.com/santorini-wedding/Do you think there is a problem with the script below?
/** Display related posts in Genesis based on Category */
//for HTML5 themes
add_action( 'genesis_after_entry_content', 'child_related_posts' );
/**
* Outputs related posts with thumbnail
*/
function child_related_posts() {if ( is_single ( ) ) {
global $post;
$count = 0;
$postIDs = array( $post->ID );
$related = '';
$tags = wp_get_post_tags( $post->ID );
$cats = wp_get_post_categories( $post->ID );if ( $tags ) {
foreach ( $tags as $tag ) {
$tagID[] = $tag->term_id;
}
$args = array(
'tag__in' => $tagID,
'post__not_in' => $postIDs,
'showposts' => 3,
'ignore_sticky_posts' => 1,
'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'
)
)
);$tag_query = new WP_Query( $args );
if ( $tag_query->have_posts() ) {
while ( $tag_query->have_posts() ) {
$tag_query->the_post();
$img = genesis_get_image() ? genesis_get_image( array( 'size' => 'related' ) ) : '';
$related .= '
- ' . $img . get_the_title() . '
';
$postIDs[] = $post->ID;
$count++;
}
}
}if ( $count <= 4 ) {
$catIDs = array( );
foreach ( $cats as $cat ) {
if ( 3 == $cat )
continue;
$catIDs[] = $cat;}
$showposts = 3 - $count;
$args = array(
'category__in' => $catIDs,
'post__not_in' => $postIDs,
'showposts' => $showposts,
'ignore_sticky_posts' => 1,
'orderby' => 'rand',
'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'
)
)
);$cat_query = new WP_Query( $args );
if ( $cat_query->have_posts() ) {
while ( $cat_query->have_posts() ) {
$cat_query->the_post();
$img = genesis_get_image() ? genesis_get_image( array( 'size' => 'related' ) ) : '';
$related .= '
- ' . $img . get_the_title() . '
';
}
}
}if ( $related ) {
printf( '<div class="related-posts"><h3 class="related-title">You May Also Like</h3><ul class="related-list">%s</div>', $related );
}
wp_reset_query();
}
}June 1, 2016 at 1:02 am #186659ChristophMemberHi,
when you add code, please wrap in code tags (the button that says code right above the editor).
I would also haven been nice if you had added a link to the original code. I think you got it from here http://mygenesisthemes.com/related-posts-genesis/Without testing the script, it looks like you didn't adjust this part of the code
if ( $count <= 4 ) { $catIDs = array( ); foreach ( $cats as $cat ) { if ( 3 == $cat ) continue; $catIDs[] = $cat;
I would guess that would have to be 3 and 2, respectively.
-
AuthorPosts
- The forum ‘Design Tips and Tricks’ is closed to new topics and replies.