web-dev-qa-db-fra.com

obtenir le prochain post dans single.php

J'ai vraiment besoin de ton aide.

dans mon single.php je devais obtenir le prochain post dans la même catégorie

(que j'ai déjà par:

$ in_same_cat = true;

$ excluded_categories = '';

$ previous = false;

$ next_post = get_adjacent_post ($ in_same_cat, $ excluded_categories, $ previous);)

maintenant j'ai besoin du suivant suivant post et aussi dans le sens opposé précédent précédent post

merci

2
zina

étonnamment, j'ai trouvé la réponse moi-même ...

J'utilise la même fonction que pour le message suivant/précédent

(get_adjacent_post ()) mais en envoyant le post suivant/précédent que j'ai déjà trouvé comme paramètre

$in_same_cat = true;

$excluded_categories = '';

$previous = true;

$previous_post = get_adjacent_post($in_same_cat,$excluded_categories,$previous);

$previous_previous_post = 
get_adjacent_post($in_same_cat,$excluded_categories,$previous,$previous_post);

$previous = false;

$next_post = get_adjacent_post($in_same_cat,$excluded_categories,$previous);

$next_next_post = get_adjacent_post($in_same_cat,$excluded_categories,$previous,$next_post); 

mais ... nous n'avons pas encore fini .. nous devons ajouter ce code à la déclaration de fonction dans wp-includes/link-template.php

function get_adjacent_post($in_same_cat = false, $excluded_categories = '', $previous = true,$mypost = null) {
    global  $wpdb;

//if specific post wasnt sent to function it takes the global one and checks if its empty before using it.

    if ( empty( $mypost ) )
    {
        global $post;
        if(empty( $post ))
            return null;
        $mypost=$post;
    }
//...
2
zina

Salut
Essayez d’utiliser la fonction get_adjacent_post selon ce lien.
http://wordpress.org/support/topic/how-to-get-next-post-id
vous pouvez créer une petite boucle qui obtiendra l’ID du prochain message, puis réutiliser la fonction sur l’ID que vous avez reçu pour obtenir le prochain ID.

$prevPost = get_previous_post();
$i = 0;  
$num_prev_posts = 4;  
while ($i < $num_prev_posts) //needs to check if $prevPost exists. while ($i < $num_prev_posts && !empty($prevPost)) doesn't work. 
{  
    get_permalink($post->ID); //and other such functions that work on the global $post should now work.  
    $i++;  
    $prevPost = get_previous_post(); // and then there should be a check if $prevPost is empty or not  
    print_r($prevPost);  
}

cela apportera les 4 précédents messages. http://wordpress.org/support/topic/get-next-5-posts-from-the-current-post

2
peroxide

Voir la réponse ici pour un code qui récupère plusieurs messages adjacents:

Obtenir les titres suivants et précédents dans la barre latérale?

2
Rarst