Salut,

Donc en gros j'ai une page qui me liste les 6 derniers articles sous forme d'image cliquable menant au articles associés, un peu comme ça :

http://gentsthemes.com/demo/stanleywp/

Le truc maintenant ce que j'aimerais une pagination numérique pour pouvoir naviguer vers les articles plus anciens mais je ne sais pas du tout comme m'y prendre en fait.

Voici la fonction qui me liste mes 6 articles les plus récents :

function jc_post_by_category($atts, $content = null) {
    extract(shortcode_atts(array(
        "nb" => '6',
        "orderby" => 'post_date',
        "order" => 'DESC',
        'paged' => $paged,
        "category" => '1'
        ), $atts));
    global $post;
    $count = 0; 
    $tmp_post = $post;
    $myposts = get_posts('showposts='.$nb.'&orderby='.$orderby.'&category='.$category);
    $out= '<table id="ArrayArticle"><tr>';
    foreach($myposts as $post){
        setup_postdata( $post );
        $url = wp_get_attachment_url( get_post_thumbnail_id($post->ID), 'thumbnail' );
        if(get_the_post_thumbnail_url() != null){

            if($count == 3){
                $out.= '</tr><tr>';
                $count = 0;
            }
            $out.= '<th><a class="zoom green" href="'.get_permalink().'"><img id="ImageArticle" src="'.get_the_post_thumbnail_url("", $size = 'full').'"></a></th>';
            $count = $count + 1 ;

        }
    }
    $out.= '</tr></table>';   
    wp_reset_postdata();   
    $post = $tmp_post;
    return $out;
}

Maintenant je sais pas comment me démerder pour que les articles précédents ( donc ceux avant les 6 premiers que j'affiche et ainsi de suite ) me permettent de créer une pagination numérique automatique.

Donc j'ai installé WP-PageNavi mais je galère à deja a afficher la barre de pagination donc pour faire ce que je veux ca va être assez chaud pour moi vu mes connaissances.

Si quelqu'un aurait une solution ça serait super car cette pagination numérique c'est la dernière feature que souhaite créer.

Merci

8 réponses


Salut,

essaie ça:

function jc_post_by_category($atts, $content = null) {
    extract(shortcode_atts(array(
        "nb" => '6',
        "orderby" => 'post_date',
        "order" => 'DESC',
        'paged' => $paged,
        "category" => '1'
        ), $atts));
    global $post;
    $count = 0; 
    $tmp_post = $post;
    $myposts = get_posts('showposts='.$nb.'&orderby='.$orderby.'&category='.$category);
    $out= '<table id="ArrayArticle"><tr>';
    foreach($myposts as $post){
        setup_postdata( $post );
        $url = wp_get_attachment_url( get_post_thumbnail_id($post->ID), 'thumbnail' );
        if(get_the_post_thumbnail_url() != null){

            if($count == 3){
                $out.= '</tr><tr>';
                $count = 0;
            }
            $out.= '<th><a class="zoom green" href="'.get_permalink().'"><img id="ImageArticle" src="'.get_the_post_thumbnail_url("", $size = 'full').'"></a></th>';
            $count = $count + 1 ;

        }
    }
    $out.= '</tr></table>'; 
 wp_pagenavi(); 
    wp_reset_postdata();   
    $post = $tmp_post;
    return $out;
}
jharax
Auteur

Salut merci de ta réponse,

j'ai remplacer ta fonction par la mienne mais malheuresement ca n'affiche pas la barre de pagination numérique :/

Tu sais d'ou ca peut venir ? :)

Hum comme ça non pas trop, est ce que tu as tout de même une pagination ?

jharax
Auteur

Non malheuresement rien :/

Même avec la pagination native de wordpress ?

jharax
Auteur

Oui malheuresement rien ne s'affiche sur ma custom page je ne sais pas pourquoi

Par contre sur d'autre model de page la pagination marche

Même avec

  next_posts_link( 'Older Entries', $postslist->max_num_pages );
             previous_posts_link( 'Next Entries &raquo;' ); 

à la place de wp_pagenavi ?

Sinon regarde à ce niveau là à la place de ta boucle tu devrais faire quelque chose du genre, par contre remplace next_posts('..... par ton wp_pagenavi sans touche au code du shortcode bien entendu