Support » Allgemeine Fragen » Artikelliste von ausgewählten Seiten per Checkbox

  • Hi,

    ich möchte gerne eine Liste von bestimmten Seiten/beiträge auf der Startseite meiner Webseite. Ideal wäre wenn im Editor in der Sidebar zB ein Kontrollfeld wäre wo ich bestimmen kann ob diese Seite in meiner Artikelliste erscheint.

    Ich denke schon das es so etwas als PlugIn gibt, ich habe aber Mühe es zu finden. Vielleicht fehlen mir die richtigen Suchbegriffe?

    Kann mir jemand helfen?

Ansicht von 7 Antworten - 1 bis 7 (von insgesamt 7)
  • Das geht sogar ohne zusätzliches Plugin:

    1. Beiträge > Kategorien > Neue Kategorie „Featured“ erstellen, ID der neuen Kategorie notieren (wird auch bei Mauszeigerkontakt in der Statusleiste im Link als …&tag_ID=42&… angezeigt).
    2. Beiträge > Beiträge auf der Übersichtsseite auswählen > Mehrfachaktionen: Bearbeiten > Kategorie „Featured“ zuweisen. Wenn du schon sehr viele Beiträge hast, macht es Sinn, vorher über das Pulldown-Menü „Ansicht anpassen“ oben rechts die Anzahl der angezeigten Beiträge pro Seite zu erhöhen.)
    3. Entweder in der functions.php eines Child Themes oder (wenn du noch kein Child Theme hast) als Code Snippet mit dem Plugin Code Snippets hinzufügen:
      function my_home_category( $query ) {
      if ( $query->is_home() && $query->is_main_query() ) {
      $query->set( 'cat', '42'); // ID der Kategorie eintragen
      }
      }
      add_action( 'pre_get_posts', 'my_home_category' );
    Thread-Starter stefkey

    (@stefkey)

    Oh Danke sehr! Klingt gut. Aber was mache ich wenn ich eine Liste von Pages haben möchte. Für Seiten kann man keine Kategorie einstellen. Es gibt jedoch PlugIns dafür. Kann das dann funktionieren? Z.b. dieses: https://de.wordpress.org/plugins/add-category-to-pages/

    Zunächst einmal kennt WordPress nur statische Seiten (wie z.B. dein Impressum) und dynamische Seiten, die sich aus mehreren Blogbeiträgen zusammensetzen. Eine Anzeige mehrerer statischer Seiten auf einer Webseite ist da zunächst nicht vorgesehen – aber durchaus möglich, wie die Startseite beim Standard-Theme Twenty Seventeen sehr anschaulich vermittelt. Dazu wurde aber das Startseiten-Template so verändert, dass mehrere statische Seiten als Abschnitt einer Webseite angezeigt werden. Natürlich kannst du auch ein eigenes Template programmieren, dass erst vier Beiträge der Kategorie A, dann die Seiten X und Y, danach drei Beiträge der Kategorie B, usw. anzeigt.

    Du kannst auch WordPress so „verbiegen“, dass Seiten eine Kategorie erhalten können und die Startseite sowohl Beiträge als auch Seiten dieser Kategorie auf der Startseite angezeigt werden. Nur wirst du vermutlich die Inhalte nicht nach Veröffentlichungsdatum oder alphabetisch sortiert ausgeben wollen. Deshalb reicht eine Funktion wie zunächst genannt dann wahrscheinlich nicht aus.

    Einen anderen Ansatz bietet das Plugin Shortcodes Ultimate, das dir für eine ganze Reihe von Dingen Shortcodes zur Verfügung stellt. Damit könnest du eine Seite aufsetzen, die aus ein paar einführenden Worten („…begrüße ich dich auf meiner Website …“) besteht, gefolgt von den aktuellsten Beiträgen („… im Moment findest du in meinem Blog z.B. Informationen zu folgenden Themen: [shortcode für aktuellste Beiträge]“), dem Auszug der Seiten „Über mich“ und „Meine Philosophie“ (Shortcode für Seiten), etc.

    Thread-Starter stefkey

    (@stefkey)

    Herzlichen Dank für deine ausführliche Antwort. Wooh! Ich verstehe.

    Und wäre es denn möglich nicht die Seite als ganzes auf der Startseite einzubinden, sondern nur einen Link dazu? Ich möchte ja quasi nur eine Linkliste/Artikelliste von verschiedenen von Hand ausgewählten Seiten. Aktuell habe ich 2 Seiten in die Kategorie Featured genommen – wohlgemerkt Seiten und keine Beiträge. Dazu hatte ich das PlugIn Categories for pages installiert.

    Aber wie kann ich jetzt eine Linkliste dieser Seiten (indemfalbl 2 Seiten aus der Kategorie Featured) auf die Startseite im Text rausgeben?

    Eine Liste mit Seiten kannst du selber zusammenstellen, in dem du die Seitentitel kopierst und auf der Startseite als Text einfügst, anschließend jeweils mit der Seite verlinkst. Vielleicht hilft dir auch ein Embed weiter? Dazu müsst du den Link zu einer Seite/einem Beitrag als freistehenden Absatz (leere Zeile darüber und darunter, kein anderer Text, nur der Link) einfügen.

    Thread-Starter stefkey

    (@stefkey)

    ok, ich dachte ich könnte auf den Seiten in der Sidebar eine Checkbox haben, damit ich nicht immer wieder die Startseite editieren muss. Mittels Kategorie wäre ja prima… hmmm

    Dazu könntest du aber z.B. Shortcodes Ultimate verwenden: „Die letzten 4 Beiträge der Kategorie ‚Featured‘ (dynamischer Inhalt), darunter die Seite ‚Über mich‘ (statischer Inhalt), gefolgt von 3 Beiträgen der Kategorie ‚Gesundheit‘ (dynamisch) und der Seite ‚Glücklich ohne Gluten‘ (statisch) …“ kannst du mit Shortcodes zusammensetzen, wie du es brauchst.

    Wenn ich das richtig verstehe, möchtest du am liebsten in der Sidebar ein Kästchen „auf die Haupseite“, was du mit einem Custom Field (z.B. mit Plugin Advanced Custom Fields) umsetzen kannst. Du könntest in einem weiteren Custom Field zusätzlich einen numerischen Wert angeben, über den die Reihenfolge der Beiträge ausgegeben wird.
    Zur Ausgabe erstellst du ein Child Theme und legst darin ein Template front-page.php an, in dem du gezielt diese Inhalte auswählst. Sinngemäß (ungeprüft!):

    $query = new WP_Query(
    	array(
    		'meta_query' => array(
    			'relation'      => 'AND',
    			'aufstartseite' => array(
    				'key'   => 'aufstartseite',
    				'value' => '1',
    			),
    			'reihenfolge'   => array(
    				'key'     => 'reihenfolge',
    				'compare' => 'EXISTS',
    			),
    		),
    		'orderby'    => array(
    			'reihenfolge' => 'DESC',
    		),
    	)
    );
    

    Es gibt so viele Möglichkeiten … Die Frage ist eher, on du das selber programmieren kannst und möchtest.

Ansicht von 7 Antworten - 1 bis 7 (von insgesamt 7)
  • Das Thema „Artikelliste von ausgewählten Seiten per Checkbox“ ist für neue Antworten geschlossen.