statische Seiten als sticky Artikel nutzen und mehr

statische Seite als sticky post oder featured page nutzen
statische Seite als sticky post oder featured page nutzen

Wer in WordPress nur statische Seiten nutzen mag, steht oft vor dem Problem, dass es dafür keine automatischen „StickyPosts“ gibt. Mit dieser Funktion kannst du einen Beitrag auf der Startseite festpinnen und so wird er zu einem „Featured Post“.
Dennoch mag man vielleicht eine Seite auf der Startseite oder in der Sidebar festpinnen, als „featured Post“ anzeigen.

Ich zeige dir hier zwei Möglichkeiten auf. Die erste machst du selbst, somit hast du volle Kontrolle und nur die Funktion, die du wirklich brauchst. Die zweite Möglichkeit ist ein Plugin, ein sehr mächtiges, dass aber auch viel Overhead liefert, den du vielleicht nicht brauchst oder haben magst.

wie aus der statischen Seite eine „Featured Post“ wird

  • Du brauchst dafür eine statische Seite, die veröffentlicht ist. Deren Postslug- also den Permalink- als Beispiel nehm ich die E-Mail Seite, deren Postslug /kontakt/ ist.
  • Das Plugin Toolbox, damit du dir für diese Funktion ein Modul schreiben kannst.
  • Als zweitbeste Lösung die functions.php des verwendeten Themes – oder ein ChildTheme, damit deine Änderungen nicht überschrieben werden.
  • Das index.php oder home.php oder sidebar.php Template des verwendeten Themes => daher empfehl ich ein Child-Theme zu erstellen.

Funktion für Featured Pages

if ( ! function_exists( 'featured_page' ) ) {
  function featured_page(){
	 if ( is_front_page() ){
		$page = get_page_by_path( '/kontakt/' );
		$page_data = get_page( $page );
    $content = apply_filters('the_content', $page_data->post_content);
    echo $content;
	 }
  }
}

Dies heißt in einfachstem Deutsch: Hi WordPress es gibt eine neue Funktion (featured_page), wenn es die Startseite ist(if is front_page) , dann suche dir die Seite nach dem Postslug (get_page_by_path) „kontakt“. Und gib (echo) den Inhalt (content) zurück.

Diese Funktion featured_page gibt auch etwaig vorhandene Shortcodes korrekt aus.

die Ausgabe dieser Funktion in einem Template

 
 featured_page(); 
 

Damit erscheint nur der Inhalt. Überschrift musst Du selbst dazutippen, ebenso etwaiges HTML drumherum.
Und dies kann überall stehen. Es muss nicht innerhalb des Loops sein, aber es kann!

Featured Seite auch in der Sidebar.

Ja auch dies geht, Du kannst Dir ja einfach eine neue Funktion in der Functions.php erstellen.
Auch mit einer anderen statischen Seite. Dazu musst du den Namen der Funktion ändern und natürlich den PostSlug der statischen Seite.

if ( ! function_exists( 'featured_page_side' ) ) {
  function featured_page_side(){
	
		$page = get_page_by_path( '/ichbinschoen/' );
		$page_data = get_page( $page );
    $content = apply_filters('the_content', $page_data->post_content);
    echo $content;
	
  }
}

Der Name der Funktion wurde geändert, der PageSlug und die Abfrage, ob es die Startseite ist wurde weggenommen.

Aufruf im Template erfolgt dann mit:

 
 featured_page_side(); 
 

Featured Page Customizer

Nutzt du lieber ein Plugin und akzeptierst, dass dies eventuell viel mehr OVerhead liefert als du je brauchen kannst, dann nutze dieses hier.

Artikelhistorie:
Erstveröffentlichung: 01.12.2008
großes Update: 20.08.2014

10

10 Beiträge zu “statische Seiten als sticky Artikel nutzen und mehr

  1. Kommentar Autor
    FirstDayBlack
    Kommentar

    „Wer WordPress als CMS nutzt,“ Gibt es irgendjemanden auf dieser Welt, der WordPress nicht als CMS nutzt? Man kann es ja kaum als etwas anderes nutzen, denn eine Blogware *ist* ein CMS.

  2. Kommentar Autor
    Monika
    Kommentar

    Hi FirstDayBlack

    ich nehm mal an, dass Du FirstDayBlack auch einen Namen hast, deinen Blognamen habe ich dann als URL malgelöscht, meine Regeln nehm zumindest ich ernst -meint mein Schalk,

    doch: ja es gibt viele Leute,die meinen WP sei kein CMS, kein echtes, kein richtiges, ich versteh dies auch nicht, aber es gibt sie

    lg

  3. Ping 16 best practise Tipps: statische Seiten in WordPress

  4. Kommentar Autor
    Daniel
    Kommentar

    Hi Texto,

    Meine PHP kentnisse sind ein wenig eingerostet und ich könnte grad mal deine Hilfe brauchen.

    Also ich möchte gern drei Blöcke in meine Sidebar einfügen in denen ich jeweils
    eine WP Seite anzeigen lassen möchte.

    Kann ich der Funktion irgendwie einen Parameter mitgeben um die Seite die ich aufrufen möchte schon mit dem Funktionsaufruf festzulegen, und nicht erst in der Funktion selbst?

  5. Kommentar Autor
    Daniel
    Kommentar

    Den Inhalt.
    Die Links kommen ja schon von Haus aus!

    Ich brauch halt ne Lösung dafür in der Sidebar Inhalt darzustellen den man
    via des Backends genau so schön verändern kann wie die Seite ansich.

  6. Kommentar Autor
    Monika
    Kommentar

    um eine Seite mit Inhalt anzuzeigen kannst Du Loops nehmen, den Loop gibst Du via Textwidget mit dem Plugin ExecPHP rein, den Inhalt der Seiten ändern wie man eben Seiten ändert

    oder Du erstellst eine Kat nur für die Sidebar – das geht ja auch .. sogar mit Blättern -suchst Du hier nach *blättern* muss die Lösung kommen ;)

    lg

  7. Kommentar Autor
    Daniel
    Kommentar

    Vielen Dank!

    Hat mir echt weiter geholfen!
    Jetzt muss ich den Widgets nur noch mein Design verpassen.

    Gruß

    Daniel

  8. Ping 20 Tipps zu den statischen Seiten in WordPress

  9. Kommentar Autor
    Caro12
    Kommentar

    Hallo,
    ich habe mir das von hier mal abgeguckt und über echo $page->post_content; noch echo $page->post_title; eingefügt.

    Das klappt auch damit habe ich noch die Überschrift eingefügt.

    ausgabe ist wie hier mit .

    ich hoffe das ich das richtig gemacht habe soweit.

    Aber wie zum Geier bekomme ich jetzt noch ein unter der Überschrift hin das der Inhalt darunter steht und nicht daneben ????