Seiten auf einer Kategorieseite anteasern und verlinken
-
Hallo,
ich nutze das Ocean-WP Theme und Elementor. Elementor ist für diese Frage aber evtl. gar nicht wichtig/notwendig.
Ich habe einige Seiten (keine Beiträge) erstellt. Diese Seiten habe ich einer Seite untergeordnet. Auf dieser Hauptseite würde ich gerne immer automatisch die zuletzten 10 erstellten Unterseiten anteasern und verlinken.
Bei Beiträgen ist das glaube ich möglich, auch bei Seiten? Notfalls mit einem Plugin?
Gruß
ebody
-
Vorab: wir versuchen hier möglichst vielen AnwenderInnen zu helfen und deshalb möchte ich zunächst ein paar Begriffe klären, die hier verwendet werden.
Das Backend-Menü Seiten listet statische Inhalte wie eine „Über mich“-Seite oder ein Impressum auf, das du auf einer einzelnen Webseite abrufen kannst. Das Wort „statisch“ bezieht sich darauf, dass sich die Webseite nicht dynamisch aus mehreren Inhalten zusammensetzen. Statische Seiten werden üblicherweise* einzeln ausgegebn und haben, da sie nicht mit anderen Seiten zusammenfasst werden, keine Sortierkriterien (Taxonomie).
Das Menü Beiträge listet ebenfalls statische Inhalte auf, die aber (im Gegensatz zu Seiten) mit einer Taxonomie versehen sind. Die Anzeige einzelner Beiträge unterscheidet sich nicht gegenüber dem Abruf von Seiten, allerdings wird üblicherweise ein Datum, zugewiesenen Kategorien und Schlagwörter und (bei einer Installation mit mehreren Autoren) auch der Autor mit ausgegeben.
Archive sind dynamisch erzeugte Webseiten, bei denen Beiträge nach einem Datum, Autor oder einer Taxonomie zusammengefasst werden. WordPress erzeugt diese Archive selbständig, sobald für ein Datum, einen Autor oder eine Taxonomie Beiträge vorhanden sind.
Ergebnis:
Ohne eine eigene Programmierung werden nur Beiträge zu dynamisch generierten Seiten zusammengefasst.* Abweichend zu dieser Definition kann im WordPress-Standard-Theme Twenty Nineteen auf der Startseite der Inhalt von vier Seiten zu einer Startseite zusammengefasst werden. Das Template für die Startseite ist so programmiert, dass es die Inhalte der im Customizer festgelegten Seiten abruft und in der Startseite ausgibt.
Eine „Kategorieseite für Seiten“ zu erstellen ist zunächst ein Widerspruch, da Seiten keine Kategorien haben. Ich nehme aber an, dass du mit „Diese Seiten habe ich einer Seite untergeordnet.“ meinst, dass du Seiten, die du als zusammengehörig empfindest, als Unterseite einer anderen Seite angelegt hast? Um davon nun „automatisch die zuletzten 10 erstellten Unterseiten an[zu]teasern und [zu] verlinken“, benötigst du erst einmal eine Datenbank-Abfrage:
$args = array( 'post_type' => 'page', // nur Seiten 'posts_per_page' => 10, // 10 Seiten 'post_parent' => $post->ID, // aktuelle Seite ist Elternseite 'order' => 'DESC', // absteigende Reihenfolge 'orderby' => 'date' // Sortiere nach Datum ); $children = new WP_Query( $args );
Nun möchtest du den Code in bestimmten Seiten einfügen. Dazu bietet sich ein Shortcode an, den du mit dem Block-Editor genauso wie mit dem Elementor-Widget Shortcode einfügen kannst.
Um aus dem Code oben einen Shortcode zu machen, müssen wir den Code etwas ergänzen. Wie der fertige Code ausschaut, kannst du dir in einem GitHub-Repo anschauen, dass ich für diesen Thread angelegt habe:
Weil der Code hier etwas den Rahmen sprengt, habe ich ein Plugin erstellt und als GitHub-Repo angelegt. Du kannst die zip-Datei hier herunterladen und dann in deiner Website installieren: https://github.com/pixolin/unterseiten/archive/main.zip
Nach Installation und Aktivierung des Plugins kannst du in den Hauptseiten den Shortcode
[unterseiten anzahl="3"]
eingeben, wobei das Attributanzahl
die anzahl der aufgeführten Unterseiten enthält. Verwendest du den Shortcode ohne Attribut, also[unterseiten]
, werden bis zu 10 Seiten aufgeführt.
Die Seiten werden mit verlinktem Titel, (soweit vorhanden) einen Beitragsbild und einem Textauszug (mit Weiterlesen-Link) ausgegeben.Denk bitte daran, dass es nicht Sinn des Forums ist, dir auf Zuruf Lösungen zu programmieren. Mir war aber kein fertiges Plugin bekannt und ich habe deshalb eine (zeitaufwendige) Ausnahme gemacht. Ich werde keine weiteren Anpassungen an diesem Plugin vornehmen. Wenn du Änderungen benötigst, solltest du dich mit dem Code vertraut machen und ihn bitte selber abändern.
Vielen Dank, werde ich mir anschauen. Ich finde es sehr nett, dass du dir viel Mühe machst, aber das ist wirklich nicht notwendig. Auch so viel zu schreiben. Zudem ist es auch nicht immer hilfreich.
Denk bitte daran, dass es nicht Sinn des Forums ist, dir auf Zuruf Lösungen zu programmieren.
Keine Ahnung wo und wann ich geschrieben habe, dass mir jemand ein Plugin programmieren soll?! Es ist im Sinne des Forums, dass man fragt, ob es Plugins für die Lösung meines Problems gibt. Das habe ich gemacht.
Gruß
ebodyHallo,
Zudem ist es auch nicht immer hilfreich.
Seltsame Reaktion bei einer Antwort, die sehr ausführlich auf dein Problem eingeht. Bei einer Hilfe, die wir dir hier als Freiwillige in unserer Freizeit geben, hätte ein „Dankeschön“ gereicht 😕.
Viele Grüße
Hans-GerdKeine Ahnung wo und wann ich geschrieben habe, dass mir jemand ein Plugin programmieren soll?!
Das hast du nicht. Das war ein freundlicher Hinweis, da viele Anwender:innen eine überzogene Erwartungshaltung haben. Du nicht? Hey, alles cool.
Es ist im Sinne des Forums, dass man fragt, ob es Plugins für die Lösung meines Problems gibt.
Nein, absolut nicht. Wir helfen bei Probleme mit bereits verwendeten Plugins. Fpr die Plugin-Suche steht dir das Plugin-Verzeichnis zur Verfügung. Außerdem kannst du über Suchmaschinen suchen. Das hat aber mit Anwendungssupport nichts zu tun. Trotzdem habe ich deine Frage ausführlich behandelt und dir im Ergebnis ein Plugin zur Verfügung gestellt. Wo ist dein Problem?
Auch so viel zu schreiben. Zudem ist es auch nicht immer hilfreich.
Wie man’s macht …
- Das Thema „Seiten auf einer Kategorieseite anteasern und verlinken“ ist für neue Antworten geschlossen.