Ich habe diesen Code in single.php Vorlage angezeigt
same from name; ?>
5, 'category' => $category->term_id, 'post__not_in' => array( $post->ID ) ); $posts = get_posts($args); foreach($posts as $post) : ?> - <a href="https://wordpress.stackexchange.com/questions/179538/excluding-current-post-from-get-posts/">
- <a href="https://wordpress.stackexchange.com/questions/179538/excluding-current-post-from-get-posts/term_id);?>" title="View all posts filed under name; ?>">جميع مقالات قسم name; ?>
Die Schleife funktioniert gut außer 'post__not_in' => array( $post->ID )
verhält sich auf eine seltsame Art und Weise. um mehr zu erklären, wenn ich einen Beitrag habe, der 4 verschiedene Kategorien teilt. Der generierte Code ist der folgende
same from Cat1
- another article 1
- another article 2
- another article 3
- another article 4
same from Cat2
- Current Article
- another article 1
- another article 2
- another article 3
same from Cat3
- Current Article
- another article 1
- another article 2
- another article 3
same from Cat4
- Current Article
- another article 1
- another article 2
- another article 3
wie Sie können nur
, dass der aktuelle Post, der Rest einschließlich und ausgenommen einige andere zufällige post.
Vielen Dank im Voraus und ich hoffe, ich habe mein Problem erklärt.
Sie überschreiben den Wert von $post
wenn Sie den ersten Satz von Posts ausgeben, also ist es nicht mehr dasselbe Post-Objekt wie Ihr einzelner Post.
Sie können entweder wp_reset_postdata()
nach jeder Schleife (was Sie sowieso nach der letzten machen sollten), oder $post->ID
einer anderen Variablen vor der Schleife zuweisen und stattdessen darauf verweisen, damit sie nicht überschrieben wird.