Neuigkeiten auf Homepage
-
Hallo,
würde gerne bei der angegebenen Seite unterhalb der Buttons einen Bereich einrichten in dem die Neuigkeiten angzeigt werden. Mit dem Editor kann ich die Seite nicht verändern. Jemand eine Idee, wie ich das realisieren kann? Evtl. mit entsprechendem Code im Template?
danke
Philipp
Die Seite, für die ich Hilfe brauche: [Anmelden, um den Link zu sehen]
-
Klar, mit Code kannst du alles Mögliche im Template anstellen. Kennst du dich denn mit PHP grundsätzlich aus? Kannst du mit „da musst du eine weitere Query einfügen“ etwas anfangen? – Es ist nicht unser Ziel, dir kostenlos auf Zuruf irgendwelche Ergänzungen zu deinem Theme zu liefern.
denke mal mit query ist eine Anfrage an den Server gemeint, weiß jetzt aber nicht wie die Syntax dazu genau aussieht. Ich kenne c++ ganz gut und kann auch php lesen, würde da aber jetzt auch ganz gerne keine Doktorarbeit draus machen. Wenn ich im WordPress-Backend bin, kann ich die Seite leider nicht über den Editor bearbeiten, wahrscheinlich war das vom Parent-Theme nicht vorgesehen, sonst würde ich da einefach einen Neuigkeiten Block einfügen….
Vor Einführung des Block-Editors haben viele Theme-Entwickler für die Startseite ein eigenes Template geschrieben, damit sich die Startseite dynamisch aus verschiedenen Inhalten zusammensetzt und dadurch interessanter wird, weil es mit dem klassischen Editor kaum Möglichkeiten gab, den Text einer statischen Willkommensseite mit z.B. Auszügen der neuesten Beiträge zu mischen.
Möchtest du beim Theme bleiben, aber den Seitenaufbau ändern, kannst du entweder ein Child-Theme erstellen und eine weitere Datenbank-Abfrage hinzufügen, die die neuesten Beiträge einbindet oder du kannst für die Startseite ein Standard-Template wählen und dort beliebig Inhaltsblöcke kombinieren. Dazu kann dann auch der Block neueste Beiträge dienen.
Um ein Standard-Template zu verwenden, musst du nur beim Bearbeiten der Seite in der Seitenleiste unter Seitenattribute ein anderes Template auswählen. Das geht ohne Programmierung. Ein Child-Theme musst du hingegen als PHP-Code anlegen (auch wenn es dafür im Web dutzende Tutorials gibt, mit denen das schnell erledigt ist) und dann ja auch den PHP-Code für deine zusätzliche Abfrage einbauen.Ich hab schon ein Child Theme angelegt und würde die Startseite ganz gerne lassen, da ich sonst nicht die 3 Butoons mit den Bildern hab.
Wie würde denn der PHP-Code für die zusätzliche Anfrage in etwa aussehen?
Den Code kannst du dir auf https://generatewp.com/wp_query/ sogar selber „zusammenklicken“. Wenn du z.B. Beiträge (
posts
) abrufen möchtest, die veröffentlicht wurden (Statuspublish
), davon gerne die letzten 5 angezeigt bekommen möchtest ('posts_per_page' => '5', 'nopaging' => true,
) und chronologisch absteigend sortieren möchtest ('order' => 'DESC', 'orderby' => 'date',
), sieht die Abfrage so aus:// WP_Query arguments $args = array( 'post_type' => array( 'posts' ), 'post_status' => array( 'publish' ), 'nopaging' => true, 'posts_per_page' => '5', 'order' => 'DESC', 'orderby' => 'date', ); // The Query $query = new WP_Query( $args ); // The Loop if ( $query->have_posts() ) { while ( $query->have_posts() ) { $query->the_post(); the_title(); // gibt den Titel aus the_excrerpt(); // gibt einen unformatierten Textauszug aus } } else { echo 'Keine aktuellen Beiträge gefunden.'; } // Restore original Post Data wp_reset_postdata();
Wahrscheinlich musst du das noch mit ein paar
<div>
-Tags und CSS-Klassen ergänzen, damit die Gestaltung zu deinem Theme passt.Ok. super, hab den Code jetzt mal an der entsprechenden Stelle eingefügt aber irgendwie scheint die Anfrage nichts zu finden obwohl es zwei Artikel gibt (Die findet man auf der Nouvelles Seite). Woran könnte das denn liegen?
Ups, gleich drei kleine Fehler. Probier’s mal hiermit:
// WP_Query arguments $args = array( 'post_type' => array( 'post' ), 'post_status' => array( 'publish' ), 'posts_per_page' => '5', 'order' => 'DESC', 'orderby' => 'date', ); // The Query $query = new WP_Query( $args ); // The Loop if ( $query->have_posts() ) { while ( $query->have_posts() ) { $query->the_post(); the_title(); // gibt den Titel aus the_excerpt(); // gibt einen unformatierten Textauszug aus } } else { echo 'Keine aktuellen Beiträge gefunden.'; }
Danke für die Infos!
ich hab jetzt den Code aus dem Blog-Template auf das Homepage-Template kopiert und die Sidebar gelöscht. Damit funktioniert es direkt im entsprechenden Design.
herzliche Grüße
PhilippPrima. Danke für die Rückmeldung.
- Das Thema „Neuigkeiten auf Homepage“ ist für neue Antworten geschlossen.