Schleife die ersten sechs Pfosten im Karussell, die nächsten acht im Raster

Die Titelseite muss die ersten sechs Beiträge in einem Karussell haben und dann die nächsten acht in einem Gitter. Was ist die beste Vorgehensweise, um diese Art von Design zu durchlaufen? Ich benutze derzeit “get_posts”, um die ersten 14 Posts aufzurufen und danach manuell jeden einzelnen aufzurufen, aber ich dachte mir, dass es einen besseren Weg geben muss.

Hier ist, was ich am Anfang von index.php mache:

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $offset = ($paged - 1) * 14; $args = array( 'numberposts' => 14, 'offset' => $offset, 'orderby' => 'date', 'order' => 'DESC', 'post_type' => 'post', 'post_status' => 'publish', 'suppress_filters' => true ); $front_page_posts = get_posts( $args ); 

Das Problem ist, dass ich “get_template_part” nicht aufrufen kann, weil es eigentlich keine Post-Schleife gibt, also sieht der Rest meines Codes ungefähr so ​​aus:

  

[…]

 
<?php $count = 6; while($count ID); $count++; } ?>

Wie Sie sehen können, muss ich eine separate function aufrufen, um die Vorlage zu erhalten, anstatt “get_template_part” zu verwenden.

Was ist die beste Vorgehensweise dafür?

Solutions Collecting From Web of "Schleife die ersten sechs Pfosten im Karussell, die nächsten acht im Raster"

Verwenden Sie WP_Query mit Offset wie folgt

  < ?php $offset = 6; $post_args = array( 'post_type' => 'post', 'posts_per_page' => $offset, ); $slider_blog_posts = new WP_Query( $post_args ); ?> < ?php if ( $slider_blog_posts->have_posts() ): ?>  < ?php endif; ?> < ?php wp_reset_postdata(); ?> 

und erstellen Sie dann eine neue Abfrage für den Rest der Beiträge:

  < ?php $new_args = array( 'post_type' => 'post', 'posts_per_page' => 8, 'offset' => $offset ); $grid_blog_posts = new WP_Query( $new_args ); ?> < ?php if ( $grid_blog_posts->have_posts() ): ?> 
< ?php while( $grid_blog_posts->have_posts() ): $grid_blog_posts->the_post(); ?> < ?php get_front_eighth( get_the_id() ); ?> < ?php endwhile; ?>
< ?php endif; ?> < ?php wp_reset_postdata(); ?>

Wie für die functionen verwenden Sie sie, um Daten zurückzugeben, um HTML nicht anzuzeigen. Das Anzeigen von HTML sollte in Fragmenten erfolgen.