Vermeiden Sie wiederholte Post auf Seite 2, wenn Sie eine auf Seite 1 ausschließen

Auf der Website, die wir entwickeln, wird das infinite Scrollen durch Ajax / JavaScript aktiviert.

$('#inifiniteLoader').show('fast'); $.ajax({ url: "/wp-admin/admin-ajax.php", type:'POST', data: "action=infinite_scroll&cat=''&exclude=''&page_no="+ pageNumber + '&loop_file=loop', success: function(html){ $('#inifiniteLoader').hide('1000'); $("#primary").append(html); // This will be the div where our content will be loaded } }); 

Auf der ganzen Website funktioniert das, aber auf der einzelnen Seite, auf der der Post angezeigt wird, und dann auf allen anderen Posts in dieser Kategorie (außer dem Post) als Thumbnails, gibt es ein Problem.

Die WP_Query schließt den fraglichen Beitrag aus:

 $args = array ( 'cat' => $catId, 'post__not_in' => $postid ); $custom_query = new WP_Query( $args ); 

Das funktioniert auch, aber die Paginierung nicht.

Beispiel: Auflistung von Professoren

Das Raster soll 8 Daumen pro Seite zeigen. Die 3 auf der unteren Formularseite 2. Wenn Sie auf ein Thumbnail klicken und den Post eingeben, werden die Thumbs (außer dem aktuellen) wiederholt. Wie Sie sehen, läuft bei der Paginierung etwas schief, da die aktuelle Seite ausgeschlossen ist. Auf der ersten Seite wird eine Seite von Seite 2 angezeigt. Dies ist dann der erste Post auf Seite 2, der zu doppelten Posts führt.

Wenn ich die loop.php , um den ersten Beitrag zu überspringen, werden nur sieben angezeigt und das Gitter ist nicht gefüllt.

Die Abfrage in den functionen sieht so aus und schließt auch den aktuellen Post aus:

 function wp_infinitepaginate() { $loopFile = $_POST['loop_file']; $paged = $_POST['page_no']; $cats = $_POST['cat']; $exclude = $_POST['exclude']; $posts_per_page = get_option( 'posts_per_page' ); $showposts = $posts_per_page; $offset = ( ( $showposts * $paged ) - $showposts ); $args = array( 'cat' => $cats, 'posts_per_page' => $showposts, 'offset' => $offset, 'post__not_in' => array( $exclude ), ); # Load the posts //query_posts( array( 'paged' => $paged ) ); query_posts( $args ); get_template_part( $loopFile ); wp_reset_query(); exit; } 

Irgendwelche Tipps?

Solutions Collecting From Web of "Vermeiden Sie wiederholte Post auf Seite 2, wenn Sie eine auf Seite 1 ausschließen"