WordPress: Bestimmte Blogbeiträge von Startseite ausschließen

By | 30. September 2019
Laptop mit Programmcode
Bild: StockSnap / pixabay.de

Wie du vielleicht auf meiner Startseite schon mitbekommen hast, werden nun über den regulären Blogbeiträgen kurze Nachrichten für Selbständige, Gründer und StartUps angezeigt.

Deshalb stand ich vor dem Problem, dass diese nicht unten in den letzten 10 Blogbeiträgen auf der Startseite erscheinen sollen. Ich habe keine Lösung gefunden, ohne programmiertechnisch eingreifen zu müssen.

Da du vielleicht auch vor dem Problem stehst, bestimmte Blobgeiträge von der Startseite ausschließen zu müssen, verfasse ich nun ein kleines Tutorial für dich! Wenn Du nicht zurechtkommst, helfe ich dir gerne weiter!

1. Kategorie zum Ausschließen anlegen

Man könnte zwar auch einzelne Beiträge explizit ausschließen, einfacher wäre es aber du legst eine Kategorie an und ordnest alle Blogbeiträge dieser Kategorie zu, die nicht auf der Startseite erscheinen müssen.

Mein Katogriename dafür lautet “Aktuelles”. Sinnvoll könnte aber auch die Kategorie “nicht gelistet” oder ähnlich lauten.

Finde die Kategorie-ID heraus, indem du in die “Kategorien”-Kategroien ins Dashboard wechselst und dir den Link der jeweiligen Kategorie ansiehst.

In meinem Fall wäre das wie gesagt die “Aktuelles”-Kategorie und wie du man an dem Link erkennen kann lautet die ID “96”.

WordPress Kategorie ID herausfinden
Anhand dem “ID” Parameter im Link weiß man, welche ID die Kategorie besitzt

2. index.php vom Template finden

Nun musst du dich am Besten über FTP auf deinen Webspace einloggen und dich in deinen WordPress Ordner navigieren.

Dort findest du im Unterordner wp-content/themes all deine installierten Designs.

Anschließend navigierst du dich in den Ordner deines aktiven Designs. Wenn du nicht weißt, wie dein aktives Design heißt, dann schau unter Design->Themes in deinem Dashboard nach.

Jetzt lädst du dir die index.php aus deinem Design-Ordner herunter. Fertige noch vorsischtshalber eine Sicherheitskopie an.


Ich würde mich freuen, wenn du meinen Newsletter abonnieren würdest. Dann verpasst du auch keinen interessanten Beitrag mehr.

Mein Newsletter informiert dich über Themen der Selbständigkeit, Bloggen, Marketing und Programmierung. Kann Werbung enthalten. Informationen zum Anmeldeverfahren, Versanddienstleister, statistischer Auswertung und Widerruf findest du in meinen Datenschutzbestimmungen




3. index.php bearbeiten

Nun öffnest du die index.php mit einem Code-Editor (zum Beispiel PSPad) oder notfalls mit dem Texteditor.

Es kann sein, dass der Aufbau sich ein bisschen von diesem hier unterscheidet. Aber in der Regel findest du dort einen Code-Ausschnitt, der in etwa so aussieht:

if ( have_posts() ) : 
    while ( have_posts() ) : the_post(); 
        get_template_part( 'content', get_post_format() );
endwhile;

Die have_posts() – Funktion holt sich automatisch die neuesten Beiträge, die while-Schleife durchläuft sie und die get_template_part-Funktion gibt sie aus.

Soweit so gut. Nun müssen wir die have_posts-Funktion manipulieren, dass sie bestimmte Beiträge nicht ausgibt. Zusätzlich muss man noch beachten, dass man übergibt, auf welcher Seite man sich befindet. Vergisst man das, werden immer die gleichen Beiträge angezeigt, auch wenn man sich durch die “älteren Beiträge” auf der Startseite klickt.

Dafür fügt man über den Blog die query_posts( $args )-Funktion ein.

 $paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1;
 $args = array(
               'paged' => $paged,
               'cat' => '-96');
query_posts( $args );

Die paged-Variable speichert mit Hilfe der get_query_var-Abfrage und der If-Anweisung die Seitenzahlen.

Das $args-Array speichert die Argumente der Abfrage. Hier muss in ‘cat‘ die Kategorie, die ausgeschlossen werden soll mit Minus reingeschrieben werden. In unserem Fall ‘-96‘. Man kann diese Abfrage noch unendlich komplex gestalten. Die möglichen Argumente für das $args-Array findest du in der Dokumentation.

In Summe sieht der komplette Code für die Beiträge in etwa so aus:

$paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1;
$args = array(
                'paged' => $paged,
                'cat' => '-96'
              );
query_posts( $args );
if ( have_posts() ) : 
    while ( have_posts() ) : the_post();
        get_template_part( 'content', get_post_format() );
    endwhile;

4. index.php hochladen / Child-Theme erstellen

Nun die index.php mit der aktuellen auf dem Webspace austauschen und schon sollten nur die Blogbeiträge angezeigt werden, die nicht in deiner angelegten Kategorie zugeordnet sind.

Wenn du kein sogenanntes Child-Theme besitzt ist die Änderung allerdings nach dem nächsten Update deines Designs weg. Wie du ein Child-Theme erstellst erklären die Kollegen von t3n.


Robert von Plötzlich-Selbständig.de Schwarz/Weiß Bild

Ich freue mich von dir zu hören!

Du kommst bei deinem Projekt nicht weiter oder brauchst einen Boost? Dann lass dir von mir helfen zum Beispiel bei:

► Anfangsinvestition in deine Idee
Gemeinsam mit einem Geschäftspartner investieren wir in Ideen. Am Liebsten in innovative Ideen, die am Anfang stehen und zum Beispiel Hilfe für einen Prototypen benötigen.

► Beratung für Selbständige, Gründer & Ideenschmiede
Egal, ob du erste Tipps brauchst. Einmal über deine Idee reden möchtest oder mit mir das Konzept für das nächste Facebook ausarbeiten willst.

► Entwicklung von Software, APPs & Webseiten
Beispielsweise: WordPress Shops & Plugins, (Gaming-)Apps, Datenbank-Applikationen oder andere smoothe Anwendungen!

Mehr Infos, Preise und Kontaktmöglichkeiten findest du hier!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Im Rahmen der Kommentarfunktion auf dieser Website werden neben Ihrem Kommentar auch Angaben zum Zeitpunkt der Erstellung des Kommentars und der von Ihnen gewählte Kommentatorenname gespeichert und auf der Website veröffentlicht. Ferner wird Ihre IP-Adresse mitprotokolliert und gespeichert. Diese Speicherung der IP-Adresse erfolgt aus Sicherheitsgründen und für den Fall, dass die betroffene Person durch einen abgegebenen Kommentar die Rechte Dritter verletzt oder rechtswidrige Inhalte postet.
Mehr Informationen zur Datenverarbeitung, der Rechtsgrundlage und Ihren Widerrufsrechten erhalten Sie in unserer Datenschutzerklärung