Normalerweise ist es in WordPress möglich, Artikel auf „sticky“ zu setzen und somit im Loop oben zu halten. In der deutschen Version nennt sich die Funktion „auf der Startseite halten“ und wird im Editor in der rechten Seitenleiste im Bereich „Status“ angezeigt.
Wenn ihr allerdings WordPress um Custom Post Types erweitert habt, fehlt dort die Sticky-Funktion. Es gibt verschiedene Wege, sie nachzurüsten.

Sticky Custom Post Types Plugin

Die einfachste Lösung um die Sticky-Funktion auch für Custom Post Types nachzuinstallieren, ist die Verwendung des Plugins Seamless Sticky Custom Post Types. Das Plugin hat vor allem den Vorteil, dass es einfach wieder deinstalliert werden kann, sobald das Feature in der offiziellen WordPress-Installation integriert wurde. Wann das passiert, ist allerdings nicht klar – ein Report mit wechselndem Status zu diesem Feature existiert jedoch bereits. core.trac.wordpress.org/ticket/12702

Auswahl ob ein Post oder Custom Post Type auf der Startseite (»sticky«) gehalten werden soll

Das Plugin funktioniert wunderbar, kann allerdings zu Problemen führen, wenn ihr andere Plugins im Einsatz habt, die ebenfalls von Custom Post Types Gebrauch machen. Das bekannte Meteor Slideshow-Plugin hat bei mir beispielsweise plötzlich nichtmehr wie gewünscht gearbeitet.

Benutzerdefinierte Felder verwenden

Je nachdem wie ihr geplant habt die Sticky-Funktion zu verwenden, bietet es sich auch an, Benutzerdefinierte Felder einzusetzen. Ein mögliches Beispiel: Mal angenommen ihr möchtet ein Portfolio aufbauen und dort bestimmte „Top-Referenzen“ immer vor allen anderen anzeigen. Zu diesem Zweck könnt ihr ein Benutzerdefiniertes Feld, im Idealfall eine Checkbox, namens „Top“ anlegen und anschließend abfragen ob der Wert dieses Feldes true oder false ist.
Im Template gebt ihr dann zwei Custom Loops hintereinander aus. Der erste zeigt nur Top-Refenzen, der zweite alle Referenzen die nicht „Top“ sind. Dazu könnt ihr die Benutzerdefinierten Felder im Query auslesen.

Das folgende Beispiel zeigt einen Query in dem der Custom Post Type „Referenzen“ mit dem Benutzerdefinierten Feld „Top“ und den Value „Ja“ berücksichtigt wird.


<?php
$args = array( 
  'post_type' => 'referenzen', 
  'posts_per_page' => -1, // = alle Beiträge anzeigen
  'meta_key' => 'top',
  'meta_value' => 'Ja'
);

query_posts( $args );
while ( have_posts() ) : the_post();
	
// Inhalt des Loops

endwhile;
wp_reset_query();
?>

Um Benutzerdefinierte Felder zu verwalten lohnt sich übrigens ein Blick auf das Plugin „More Fields“.

Natürlich besteht auch die Möglichkeit den WordPress-Core zu „hacken“ um die Funktion zu ermöglichen. Da ihr WordPress dann jedoch nicht mehr ohne Weiteres updaten könnt, halte ich diese Variante für unbrauchbar.

Geschrieben von kulturbanause Team

Benutzerbild

Beiträge bei denen das kulturbanause-Team als Autor angegeben ist, wurden von mehreren Personen in Zusammenarbeit geschrieben. Wir nutzen diesen Blog als öffentliches Archiv und um euch bei alltäglichen Problemen im Zusammenhang mit der Erstellung von Websites zu helfen. Neben diesem Blog bieten wir auch Trainings wie Schulungen, Bücher oder Videos an. Und natürlich unterstützen wir auch gerne im Rahmen unserer Agenturtätigkeit.

Feedback & Ergänzungen – Schreibe einen Kommentar

Kommentar zu dieser Seite

Wir freuen uns über Anregungen, Ergänzungen oder Hinweise zu Fehlern. Wir lesen jeden Eintrag, veröffentlichen aber nur, was den Inhalt sinnvoll ergänzt.

WordPress-Projekte mit kulturbanause

Wir wissen wovon wir reden. Wir setzen WordPress seit über 10 Jahren erfolgreich ein und realisieren maßgeschneiderte Websites auf Basis dieses großartigen CMS.

WordPress-Leistungsangebot →

Schulungen von kulturbanause

Wir bieten Seminare und Workshops zu den Themen Konzept, Design und Development. Immer up-to-date, praxisnah, kurzweilig und mit dem notwendigen Blick über den Tellerrand.

Übersicht Schulungsthemen →