Lister que les 5 dernières pages en image (Créer un compte)

  • Statut : non résolu
15 sujets de 1 à 15 (sur un total de 15)
  • Auteur
    Messages
  • #467293
    djdjo
    Participant
    Initié WordPress
    35 contributions

    Bonjour,

    Ma configuration WP actuelle
    – Version de WordPress : WordPress 2.7.1
    – Thème utilisé : StudioPress
    – Plugins en place : beaucoup
    – Nom de l’hebergeur : 1and1
    – Adresse du site : http://www.asusblog.fr

    Problème(s) rencontré(s) :

    Bonjour à tous

    Je cherche aujourd’hui une possibilité pour afficher les 5 dernières pages mise à jour dans la sidebar au format image avec un lien en dessous pour voir toutes les autres pages.

    J’ai essayé avec

    <?php wp_list_pages('sort_column=post_date&show_date=modified&title_li=<h2>‘ . __(‘Dernières modifications’) . ‘</h2>‘); ?>

    Mais il m’affiche toutes les pages (alors que je ne veux que les 5 dernières.

    Pour les mettre au format image, j’avais pensé à la même fonction que j’utilise sur la page principal du style :

    <img src="<?php $imgpage = get_post_meta($post->ID, ‘imgpage’, true); ?><?PHP echo $imgpage; ?>” alt=”<?php the_title(); ?>” />

    En dessous donc j’aimerai mettre un lien qui menerait à une page qui listerai toutes les pages présentes grâce à un plugin (ça doit exister).

    Voilà je crois avoir fait le tour 🙂

    Merci d’avance

    djdjo

    #661404
    Environnement-France
    Participant
    Maître WordPress
    1115 contributions

    Salut pour la fonction list-pages je n’ai rien vu pour limiter le nombre:
    http://codex.wordpress.org/wp_list_pages

    #661406
    djdjo
    Participant
    Initié WordPress
    35 contributions

    Justement c’est super important… limiter à 5 et ne pas afficher des liens vers les pages en question mais des images grâce aux champs personnalisés

    #661405
    djdjo
    Participant
    Initié WordPress
    35 contributions

    Il n’y a pas une fonction du genre

    mais pour l’affichage des pages?

    #661407
    djdjo
    Participant
    Initié WordPress
    35 contributions

    J’ai toujours pas trouvé :'(

    #661408
    Li-An
    Modérateur
    Maître WordPress
    24079 contributions
    #661409
    djdjo
    Participant
    Initié WordPress
    35 contributions

    C’est exactement ça, mais là c’est toujours pour les articles et non pas les pages :(

    Je pense que l’on pourrait utiliser le même genre de script pour le faire avec les pages, non?

    #661410
    Li-An
    Modérateur
    Maître WordPress
    24079 contributions

    Tu transformes tes pages en articles 🙂

    #661411
    djdjo
    Participant
    Initié WordPress
    35 contributions

    Oui c’est possible, mais après j’ai un bug de pagination quand j’utilise la commande

    il y a alors des pages vides sur les premières…

    puis il y a d’autres soucis :
    – c’est pas pratique pour retrouver quand tu as près de 200 articles
    – puisque je veux faire afficher QUE les pages modifiées, si je les transforme en articles, ça va afficher tous les articles

    Enfin, j’insiste peut être, mais il me faudrait vraiment que j’ai le même trucs que pour les pages!

    #661412
    Li-An
    Modérateur
    Maître WordPress
    24079 contributions
    #661402
    Chocaccro
    Participant
    Initié WordPress
    3 contributions

    Bonjour à tous,

    Recherchant exactement la même chose c-à-d. la possibilité d’afficher les 5 dernières pages modifiées (pas les articles), j’aurais aimé savoir si une solution avait été trouvée.

    Merci pour votre aide,
    Chocaccro

    #661403
    Li-An
    Modérateur
    Maître WordPress
    24079 contributions

    Sort Pages by Post Date
    This example displays Pages sorted by (creation) date, and shows the date next to each Page list item.

    <ul>
      
    </ul>

    À lire sur le Codex: http://codex.wordpress.org/wp_list_pages

    #661413
    Chocaccro
    Participant
    Initié WordPress
    3 contributions

    Bonjour,

    wp_list_pages est intéressant mais ne permet pas de limiter le nombre de pages affichées.

    Finalement, j’ai adapté le code trouvé sur cet article : http://blue-anvil.com/archives/wordpress-development-techniques-1-running-custom-queries-using-the-wpdb-class et cela a l’air de fonctionner (à voir à l’usage).

    Voici le code que j’ai mis dans function.php et que j’appelle à l’endroit désiré. La requête permet de récupérer les données nécessaires en excluant la page des articles (le site que je suis en train de mettre en place présente une page d’accueil statique).

    function last_pages() {
    	global $wpdb;
    	$sql = ‘SELECT DISTINCT * FROM ‘.$wpdb->posts.’ AS POSTS
                 WHERE POSTS.post_type=”page”
                 AND POSTS.post_status=”publish”
    	     AND POSTS.post_title!=”titre de la page des articles”
                 ORDER BY POSTS.post_modified DESC
                 LIMIT 0,5;’;
    	$posts = $wpdb->get_results($sql);
    	
    	if (!empty($posts)) {
    		echo ‘<ul>‘;
    		foreach ($posts as $post) {
    			$post->post_modified = date(“d/m/Y”,strtotime($post->post_modified));
    			print(
                                ‘<li>
                                    <a>ID).'”>’.$post->post_title.’</a>‘.$post->post_modified.’
                                  </li>‘
    			);
    		}
    		echo ‘</ul>‘;
    	}
    }

    Voila, les 5 dernières pages modifiées s’affichent sous forme de liste avec le titre (et le lien vers la page) ainsi que la date de modification.

    Le problème que je dois encore réglé est l’affichage du mois en français.

    #661414
    Li-An
    Modérateur
    Maître WordPress
    24079 contributions

    Ça c’est facile (modifier d/m/Y par leurs équivalents français).

    #661415
    Chocaccro
    Participant
    Initié WordPress
    3 contributions

    En fait, il suffisait de mettre la fonction date_i18n($dateformatstring, $unixtimestamp) qui retourne la date traduite dans la langue du blog (merci au livre “Le Campus WordPress”) 🙂

15 sujets de 1 à 15 (sur un total de 15)
  • Vous devez être connecté pour répondre à ce sujet.