WordPress.org

Forums

Need to make my home page featured images clickable to full post page (10 posts)

  1. Sam
    Member
    Posted 1 year ago #

    My home page is set to show all post with a featured image. I want this image to be clickable to the original post.

    I assume I need to wrap the thumbnail code into a link tag with the permalink to the post, but I am not quite sure exactly where to put it. Any help apreciated!!

    This is from my content.php:

    '<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
    <?php
    if ( '' != get_the_post_thumbnail() ) :
    $image = wp_get_attachment_image_src( get_post_thumbnail_id(), 'feat-img' );

    // If the image is greater than or equal to 645, show it
    if ( $image[1] >= 645 ) :
    the_post_thumbnail( 'feat-img' );
    endif;
    endif;
    ?>'

    Thanks!

  2. EthanT
    Member
    Posted 1 year ago #

    Do you have a homepage template file? Have you tried to
    <?php echo 'Testing to see if this is the active template'; ?>
    in various templates to see which one is being used? Once you find the tpl, then you can do something like this, in it:

    <a href="<?php echo get_attachment_link(get_post_thumbnail_id($post->ID)) ?>">
    <?php the_post_thumbnail('feat-img); ?></a>
  3. Sam
    Member
    Posted 1 year ago #

  4. EthanT
    Member
    Posted 1 year ago #

    Replace:

    <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
    <?php
    if ( '' != get_the_post_thumbnail() ) :
    $image = wp_get_attachment_image_src( get_post_thumbnail_id(), 'feat-img' );
    
    // If the image is greater than or equal to 645, show it
    if ( $image[1] >= 645 ) :
    the_post_thumbnail( 'feat-img' );
    endif;
    endif;
    ?>

    With this:

    <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
    <?php
    if ( '' != get_the_post_thumbnail() ) {
    $image = wp_get_attachment_image_src( get_post_thumbnail_id(), 'feat-img' );
    
    // If the image is greater than or equal to 645, show it
    if ( $image[1] >= 645 ) { ?>
    
    <a href="<?php echo get_attachment_link(get_post_thumbnail_id($post->ID)) ?>">
    <?php the_post_thumbnail('feat-img); ?></a>
    
    <?php
    }
    }
    ?>
  5. Sam
    Member
    Posted 1 year ago #

    Thnak you. When I do that, tho, I am getting a syntax error. Is something wrong with this line: <?php the_post_thumbnail('feat-img); ?></a> ?

    That's where it seems to start.
    Here's the whole content.php

    <?php
    /**
     * @package Superhero
     * @since Superhero 1.0
     */
    ?>
    
    <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
    <?php
    if ( '' != get_the_post_thumbnail() ) {
    $image = wp_get_attachment_image_src( get_post_thumbnail_id(), 'feat-img' );
    
    // If the image is greater than or equal to 645, show it
    if ( $image[1] >= 645 ) { ?>
    
    <a href="<?php echo get_attachment_link(get_post_thumbnail_id($post->ID)) ?>">
    <?php the_post_thumbnail('feat-img); ?></a>
    
    <?php
    }
    }
    ?>
    
    	<header class="entry-header">
    		<h1 class="entry-title"><a href="<?php the_permalink(); ?>" rel="bookmark"><?php the_title(); ?></a></h1>
    
    		<?php if ( 'post' == get_post_type() ) : ?>
    		<div class="entry-meta">
    			<?php superhero_posted_on(); ?>
    		</div><!-- .entry-meta -->
    		<?php endif; ?>
    	</header><!-- .entry-header -->
    
    	<?php if ( is_search() ) : // Only display Excerpts for Search ?>
    	<div class="entry-summary">
    		<?php the_excerpt(); ?>
    	</div><!-- .entry-summary -->
    	<?php else : ?>
    	<div class="entry-content">
    		<?php the_content( __( 'Continue reading <span class="meta-nav">&rarr;</span>', 'superhero' ) ); ?>
    		<?php wp_link_pages( array( 'before' => '<div class="page-links">' . __( 'Pages:', 'superhero' ), 'after' => '</div>' ) ); ?>
    	</div><!-- .entry-content -->
    	<?php endif; ?>
    
    	<footer class="entry-meta">
    		<?php if ( 'post' == get_post_type() ) : // Hide category and tag text for pages on Search ?>
    			<?php
    				/* translators: used between list items, there is a space after the comma */
    				$categories_list = get_the_category_list( __( ', ', 'superhero' ) );
    				if ( $categories_list && superhero_categorized_blog() ) :
    			?>
    			<span class="cat-links">
    				<?php printf( __( 'Posted in %1$s', 'superhero' ), $categories_list ); ?>
    			</span>
    			<?php endif; // End if categories ?>
    
    			<?php
    				/* translators: used between list items, there is a space after the comma */
    				$tags_list = get_the_tag_list( '', __( ', ', 'superhero' ) );
    				if ( $tags_list ) :
    			?>
    			<span class="sep"> | </span>
    			<span class="tags-links">
    				<?php printf( __( 'Tagged %1$s', 'superhero' ), $tags_list ); ?>
    			</span>
    			<?php endif; // End if $tags_list ?>
    		<?php endif; // End if 'post' == get_post_type() ?>
    
    		<?php if ( ! post_password_required() && ( comments_open() || '0' != get_comments_number() ) ) : ?>
    		<span class="sep"> | </span>
    		<span class="comments-link"><?php comments_popup_link( __( 'Leave a comment', 'superhero' ), __( '1 Comment', 'superhero' ), __( '% Comments', 'superhero' ) ); ?></span>
    		<?php endif; ?>
    
    		<?php edit_post_link( __( 'Edit', 'superhero' ), '<span class="sep"> | </span><span class="edit-link">', '</span>' ); ?>
    	</footer><!-- .entry-meta -->
    </article><!-- #post-## -->
  6. EthanT
    Member
    Posted 1 year ago #

    Yeah, sorry - I missed the ending single quote.
    This:
    <?php the_post_thumbnail('feat-img); ?></a>
    Should be this:
    <?php the_post_thumbnail('feat-img'); ?></a>

  7. Sam
    Member
    Posted 1 year ago #

    Aha!! Good eye.
    So this works, but it takes you to the attachment image, not the corresponding post.

    Thanks for helping me. I appreciate this SO MUCH!

  8. EthanT
    Member
    Posted 1 year ago #

    This should link the image to the post to which it is attached:

    <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
    <?php
    if ( '' != get_the_post_thumbnail() ) {
    $image = wp_get_attachment_image_src( get_post_thumbnail_id(), 'feat-img' );
    
    // If the image is greater than or equal to 645, show it
    if ( $image[1] >= 645 ) { ?>
    
    <a href="<?php echo get_permalink($post->ID) ?>">
    <?php the_post_thumbnail('feat-img'); ?></a>
    
    <?php
    }
    }
    ?>
  9. Sam
    Member
    Posted 1 year ago #

    Perfect! Thank you so much!!!!!! Can I buy you a cup of coffee??

  10. EthanT
    Member
    Posted 1 year ago #

    Thank you kindly, Sam - no need for the cup of coffee - glad to help.

Topic Closed

This topic has been closed to new replies.

About this Topic