WordPress.org

Ready to get started?Download WordPress

Forums

get the post thumbnail (8 posts)

  1. vincent soo
    Member
    Posted 1 year ago #

    Hi Guys,

    How can I make create other post feature image by using slug?

    Currently I am using this script
    get_the_post_thumbnail(57, 'thumbnail')

    57 is post ID

    But I wanna it to be something like this
    get_the_post_thumbnail('my slug', 'thumbnail')

    I don't wan to use ID to call the post, I wan to call by using slug name, is it possible?

  2. Pioneer Valley Web Design
    Member
    Posted 1 year ago #

    First, what theme template are you using this in...

    The ID is optional, the default is current post ID.

    And, see these:

    http://codex.wordpress.org/Function_Reference/get_the_post_thumbnail

    http://www.wprecipes.com/wordpress-function-to-get-postpage-slug

  3. vincent soo
    Member
    Posted 1 year ago #

    Hi Swanson,

    I am using Bones themes , Reason I wan it to be slug is because I will turn it to become a custom field, so I can just insert slug name instead of ID name.

  4. Pioneer Valley Web Design
    Member
    Posted 1 year ago #

    Then use a function to grab the slug of the post id as shown in the second link.

  5. vincent soo
    Member
    Posted 1 year ago #

    Thanks for the quick reply...
    Sorry my scripting knowledge is really beginner

    I have insert this script in function.php
    function the_slug() {
    $post_data = get_post($post->ID, ARRAY_A);
    $slug = $post_data['project-123'];
    return $slug;
    }

    And in my page.php when I call this function out, it just throw out error
    <?php echo get_the_post_thumbnail(the_slug(), 'thumbnail'); ?>

    I know the way I insert the_slug() is wrong, I try a lot of way to writing it
    the_slug()->ID ,
    I even not using function straight
    $post_data = get_post($post->ID, ARRAY_A);
    $slug = $post_data['project-123'];

    <?php echo get_the_post_thumbnail($slug 'thumbnail'); ?>

    But all just went wrong...can point me out the correct way of writing it?
    Thank you

  6. Pioneer Valley Web Design
    Member
    Posted 1 year ago #

    First, use the function the way is was presented...then try:

    <?php $args = array(
    'post_id' => the_slug();,
    'size' => 'thumbnail',
     );
    echo get_the_post_thumbnail($args);
     ?>

    Above is not tested...need a foreach?

  7. vincent soo
    Member
    Posted 1 year ago #

    Hi Swanson,

    I still can't get it work, it since like the code from this link have error
    http://www.wprecipes.com/wordpress-function-to-get-postpage-slug

    function the_slug() {
    $post_data = get_post($post->ID, ARRAY_A);
    $slug = $post_data['post_name'];
    return $slug;
    }

    <?php echo the_slug(); ?>

    I try copy and paste exactly without changing any thing and it show error in the page...

  8. keesiemeijer
    moderator
    Posted 1 year ago #

    get_the_post_thumbnail() only accepts a post id.
    http://codex.wordpress.org/Function_Reference/get_the_post_thumbnail

    To get the ID from a slug so you can use it in the function use this:
    http://wordpress.org/support/topic/how-can-i-get-the-page-id-from-a-page-slug

    Here's an example:

    <?php
    // get the slug from the custom field
    $slug = get_post_meta( $post->ID, 'slug', true );
    if ( '' != $slug ) {
    
    	// get the post id from the custom field slug
    	global $wpdb;
    	$my_id = $wpdb->get_var( "SELECT ID FROM $wpdb->posts WHERE post_name = '$slug'" );
    
    	// display the post thumbnail.
    	if ( $my_id ) {
    		echo get_the_post_thumbnail( $my_id , 'thumbnail' );
    	}
    
    }
    ?>

Topic Closed

This topic has been closed to new replies.

About this Topic