Post pro Tag anzeigen

Momentan habe ich den Code unten angezeigt.

   

Dieser Code zeigt JEDEN Beitrag auf meiner Website an, was cool ist und alles, aber ich versuche es auf die nächste Ebene zu bringen. Wie kann ich es so einrichten, dass es zB pro Tag so anzeigt.

Bildbeschreibung hier eingeben

Sie sehen in der oberen Ecke das Datum des Posts, ich würde es gerne auf meiner Website machen, dann auf 1 Woche beschränken, aber jedes Ergebnis in einem neuen Block anzeigen.

Solutions Collecting From Web of "Post pro Tag anzeigen"

Dies ist ziemlich einfach, aber sollte Ihnen auf Ihrem Weg helfen.

 //Get posts for the current week $args = array( 'date_query' => array( array( 'year' => date( 'Y' ), 'week' => date( 'W' ), ) ) ); //Check for search query if ( isset( $_GET['s'] ) ) { $args['s'] = $_GET['s']; } //Create these variables for use later $i = 0; $previous_post_date = 0; $the_query = new WP_Query( $args ); if ( $the_query->have_posts() ) : //Get the total amount of posts based on the query $count = $the_query->found_posts; while ( $the_query->have_posts() ) : $the_query->the_post(); //Get post date $post_date = get_the_time('M j, Y'); //Where the magic happens, see below for explanation if ( $previous_post_date !== $post_date ) { //If not the first time close div as a daily-block isn't created until the 2nd loop if ( $previous_post_date !== 0 ) { echo ''; } $previous_post_date = $post_date; echo '
' . $post_date; } ?> < ?php //Increment $i $i++; //Check if it's the end of the loop (ie $i = found_posts) if ( $i == $count ) { echo '
'; } ?> < ?php endwhile; else : ?>

< ?php _e( 'Sorry, no posts matched your criteria.' ); ?>

< ?php endif; wp_reset_postdata(); ?>

Nur um das Konditional zu erklären. Zu Beginn setzen wir $previous_post_date auf 0 . Dies bedeutet, dass die Bedingung innerhalb der Schleife immer wahr (dh das vorherige Datum entspricht nicht dem aktuellen Datum) auf der ersten “Schleife” erscheint und das Datum ausgibt. Die erste Überprüfung stellt sicher, dass wir kein schließendes div ausgeben, da ein daily-block Div noch nicht existiert.

Wenn dies der Fall ist, setzen wir das $previous_post_date auf $post_date so dass diese Bedingung beim Durchlaufen von Posts desselben Tages nicht mehr erfüllt ist. Sobald Sie einen Post mit einem anderen Datum erreichen, wird der Titel ausgegeben und das vorherige Datum wird erneut zurückgesetzt. Diesmal schließt es das geöffnete daily-block Div und öffnet einen weiteren.

Am Ende überprüfen wir, ob es das Ende der Schleife ist und schließen den daily-block div.

Wenn Sie weitere Informationen benötigen, lassen Sie es mich wissen.

Update für Suchergebnisse

Damit dies auf einer Suchergebnisseite funktioniert, müssen Sie den folgenden Codeschnipsel direkt unter dem Array $args hinzufügen. Ich habe das Hauptcode-Snippet aktualisiert, um dies zu zeigen.

 if ( isset( $_GET['s'] ) ) { $args['s'] = $_GET['s']; } 

Überprüfen Sie die URL für eine Suchabfrage, und fügen Sie sie der Abfrage hinzu, falls sie gefunden wird. Denken Sie daran, dass dies nur Ergebnisse dieser Woche anzeigen wird, aber basierend auf dem gesuchten Keyword.