[Résolu] Comment mettre une image devant les 5 derniers articles

  • Statut : non résolu
11 sujets de 1 à 11 (sur un total de 11)
  • Auteur
    Messages
  • #513485
    christofes
    Participant
    Chevalier WordPress
    103 contributions

    ma configuration WP actuelle
    – version de WordPress : 3.4.1-fr_FR
    – version de PHP/MySQL : 5.3.3
    – thème utilisé : personnalisé via la source de fran6art
    – extensions en place : nextgen-gallery 1.9.6
    – nom de l’hébergeur : local
    – adresse du site : local

    Bonjour
    j’ai ajouté dans mon sidebar les 5 derniers articles et j’essai de mettre une image devant le titre et l’auteur.
    j’ai ajouté , mais cela affiche l’image à la une, je souhaiterais à la place afficher la vignette de la 1ere image de l’article.

    Voici le code

    <ul>
    	<?php
    		global $post;
    		$tmp_post = $post;
    		$args = array( 'numberposts' => 5, ‘category’ => 1 );
    		$myposts = get_posts( $args );
    		foreach( $myposts as $post ) : setup_postdata($post);
    	?>
    	<div>
    		
    		<?php the_title(); ?> 
    		<br />
    		par <?php the_author(); ?>
    	</div>
    	<?php endforeach; ?>
    </ul>

    Si vous avez une idee,
    Merci par avance

    #849623
    suss
    Membre
    Initié WordPress
    4 contributions

    utilise l’extension “category post” tu ajoute une categorie “a la une”, et tu intègre ton widget dans ta barre latérale avec ça photo …
    solution sans ligne de code 😆

    #849624
    christofes
    Participant
    Chevalier WordPress
    103 contributions

    merci pour l’info, je préfère utile l’affiche des vignettes en code et si je ne trouve de solution j’utiliserais un plugin.

    #849625
    Guy
    Participant
    Maître WordPress
    14833 contributions

    tu trouveras des exemples dans le codex ici: http://codex.wordpress.org/Function_Reference/get_children#Examples

    #849626
    christofes
    Participant
    Chevalier WordPress
    103 contributions

    bonjour guy

    je te remercie pour le lien, j’ai testé l’exemple le problème, c’est que cela affiche la dernière image que j’ai uploadé dans la bibliothèque?

    entre temps j’ai trouvé cette fonction pour récupérer la 1ere image de l’article que j’ai mis dans function.php

    function catch_that_image() {
    global $post, $posts;
    $first_img = ”;
    ob_start();
    ob_end_clean();
    $output = preg_match_all(‘/<img>/i’, $post->post_content, $matches);
    $first_img = $matches [1] [0];
    
    if(empty($first_img)){  
    $first_img = “image1/default.jpg”;	// Définie image par default 
    
    }
    return $first_img;
    
    }

    dans le sidebar j’ai ajouté

    <ul>
    	 5 );
    		$myposts = get_posts( $args );
    		foreach( $myposts as $post ) :	setup_postdata($post); 
    	?>
    	
    	<div>
    		<li>
    			
     
    			<a href="”>
    						
    			 
    			<br />
    			par 
    			</a>
    		</li>
    		
    	</div>
    
    	
    </ul>

    la fonction, va bien rechercher la 1ere image des articles, mais au lieu d’afficher l’image cela affiche l’URL de l’image ?

    je n’arrive pas a voir d’où vient le problème.

    merci d’avance.

    #849627
    ms-studio
    Membre
    Initié WordPress
    26 contributions

    Perso, j’utilise le script suivant (dans

    functions.php

    ) pour aller chercher des images.

    https://gist.github.com/3464907

    ensuite dans le thème, la ligne

    image_toolbox(‘thumbnail’,1);

    fera appel à cette fonction, et restituera la première image de l’article.

    #849628
    christofes
    Participant
    Chevalier WordPress
    103 contributions

    bonjour

    j’ai été voir ton site et c’est bien ce que je recherche.

    j’ai copié et ajouté la fonction dans function.php et dans mon sidebar j’appel la focntion , par contre cela cela affiche derniere image que j’ai uploadé dans ma bibliotheque et pas la 1ere image de mon artcile.

    #849629
    ms-studio
    Membre
    Initié WordPress
    26 contributions

    Ça n’affiche pas les images?

    Dans ce cas, pour cette boucle qui va chercher les 5 derniers posts, utilise la syntaxe WP_Query plutôt que get_posts.

    Pour rappel, la boucle dans WordPress peut se construire avec trois méthodes:

    query_posts (non recommandé), WP_Query ou get_post.

    Probable que get_post se limite au titre et contenu, mais ne va pas chercher des choses comme les images ou les custom-fields.. essaie donc avec WP_Query.

    Voilà la doc: http://codex.wordpress.org/Class_Reference/WP_Query

    A priori ton code ressemblerait à quelque chose comme ceci:

     5,
     	‘cat’ => ‘1’,
     ) ); 
     	         
     while( $new_query->have_posts() ) : $new_query->the_post(); ?>      
    		
        <div>
             
            <br />
            par 
            
            
            
        </div>		
    
     

    #849630
    ms-studio
    Membre
    Initié WordPress
    26 contributions

    PS: avec
    ‘cat’ => 1
    sans les guillemets…

    #849631
    Guy
    Participant
    Maître WordPress
    14833 contributions

    @ms-studio: A priori, je pense qu’il n’insère pas les images comme attachments, get_children ne marchera pas, c’est pour cela que sa fonction recherchant les occurences de la balise <img focntionne. je lui avais déjà proposé un exemple avec get_children

    #849632
    christofes
    Participant
    Chevalier WordPress
    103 contributions

    ms-studio, avec ta boucle cela fonctionne tres bien, les premières images des l’articles sont bien récupérées et s’affichent dans le sidebar.

    merci a vous 2

11 sujets de 1 à 11 (sur un total de 11)
  • Le forum ‘Dépôts pour les extensions, trucs, astuces’ est fermé à de nouveaux sujets et réponses.