Display all thumbnails to a specific page

Display all thumbnails to a specific page

You may encounter situations where you need to automatically display a thumbnail or image of some kind that will link to posts. Here’s an example of this kind of situation: you want to display recent posts from a certain category on your home page, with a thumbnail for each post and maybe the title and an excerpt. Or, I recently had a client that had a box on their homepage for multimedia where they wanted an image to appear that would represent the latest post in the Media category and would link to that post. A link to this site is at the end of this post, so read on.
Simply paste the following function into your functions.php file:
function wallthumb($id=false,$beforelist='

    ',$afterlist='

',$beforeitem='

  • ',$afteritem='
  • '){
    global $wp_query;
    $goquery = $wp_query->post;//contenu de la requète
    if(is_attachment()){
    $ptitre = $goquery->post_title;//le titre de l'image
    $idparent = $goquery->post_parent;//l'id de la page parente
    if(!$id){//si pas d'id en argument, on tente de la recuperer
    $id = $goquery->ID;
    }
    if($idparent == null || $idparent == '' || $idparent == 0){
    return;//si l'image est orpheline (sans page parente) on stop la fonction
    }
    //$twice = get_posts('post_type=attachment&post_mime_type=image&numberposts=-1&order=ASC&post_status=null&post_parent='.$idparent);//recup des infos des pièces jointes a la page parente
    $twice = get_children('post_type=attachment&post_mime_type=image&order=ASC&post_parent='.$idparent);//recup des infos des pièces jointes a la page parente
    $stocklienimage = array();//pour stocker les liens images
    if($twice){//si pièces jointes
    foreach ($twice as $value) {//boucle
    $classthumbactu = '';
    if($value->ID == $id){//detection de l'image courante dans la boucle pour ajout d'une classe pour la differencier
    $classthumbactu=' thumbactu';
    }
    $stocklienimage[$value->ID] = $beforeitem.''.wp_get_attachment_image( $value->ID, 'thumbnail' ).''.$afteritem;
    }
    }else{
    return;
    }
    echo $beforelist.implode('', $stocklienimage).$afterlist;//affichage de la liste
    }
    }

    Once done, you just have to call the function:
    < ?php wallthumb() ?>
    Enjoy your gallery!

    If you like this post, Share it:
    • Facebook
    • BlinkList
    • del.icio.us
    • Digg
    • Google Bookmarks
    • LinkedIn
    • Live
    • Ma.gnolia
    • MySpace
    • Netvibes
    • Ping.fm
    • Ratimarks
    • Reddit
    • StumbleUpon
    • Technorati
    • Tumblr
    • Yahoo! Buzz
    • Book.mark.hu
    • Linkter
    • Mixx