Ja, gibt es.
Reicht dir das als Antwort? 😛
Vermutlich nicht. Also Schritt für Schritt:
- Du erstellst unter Beiträge > Kategorien eine Kategorie
web
.
Fährst du anschließend mit der Maus über den Eintrag der neuen Kategorie, wird dir im Link die ID der Kategorie gezeigt. https://example.com/wp-admin/term.php?taxonomy=category&tag_ID=42&post_type=post&wp_http_referer=%2Fwp-admin%2Fedit-tags.php%3Ftaxonomy%3Dcategory
enthält z.B. tag-ID=42
– die ID ist also 42. Diese Zahl merkst du dir.
- Du erstellst Beiträge und weist sie der Kategorie Web hinzu. Alternativ kannst du in der Beitragsübersicht auch in einer Mehrfachaktion Beiträgen, die du mit dem Kontrollkästchen ausgewählt hast, die Kategorie zuweisen: Du wählst die Beiträge aus, klickst auf Mehrfachaktion, gehst auf Bearbeiten [1] und weist den ausgewählten Beiträgen [2] die Kategorie
web
zu [3], was du mit Aktualisieren [4] bestätigst.
- Du erstellst unter Design > Menüs ein eigenes Menü (sofern nicht bereits vorhanden) und fügst dort die Kategorie:Web als Menü-Eintrag hinzu. Vergiss nicht, das Menü zu speichern.
Im Ergebnis sehen Besucher, die diesen Link aufrufen, nur Beiträge der Kategorie web
.
- Nun musst du noch ein paar Zeilen PHP-Code hinzufügen.
Da Änderungen im Theme beim nächsten Theme-Update überschrieben werden, kannst du die PHP-Funktion nicht in die functions.php
deines Themes schreiben.
Verwendest du bereits ein Child-Theme, kannst du die Zeilen in der functions.php
des Child-Themes anhängen. Für diese kleine Änderung aber extra ein Child-Theme zu erstellen, wäre etwas übertrieben. Bequemer geht das mit dem Plugin Code Snippets, bei dem du den Code als neues Snippet hinzufügst:
add_action( 'pre_get_posts', 'ohne_kategorie_web' );
function ohne_kategorie_web( $query ) {
if ( $query->is_home() && $query->is_main_query() ) {
$query->set( 'category__not_in', '42' );
}
}
Wichtig ist, dass hier die unter Schritt 1 notierte ID in der Zeile $query->set( 'category__not_in', '-42' );
verwendet wird. Der Parameter category__not_in
hat insgesamt drei Unterstriche.
Und schon hast du eine eigene Seite für die Kategorie Web.
Gar nicht so kompliziert, oder? 🙂
Danke @pixolin,
hat funktioniert.
Jetzt nur eine Frage ist es möglich eine Seite mit Web zu erstellen, wo die Beiträge angezeigt werden und ich oben noch ein paar Zeilen Text schreiben kann.
Du kannst eine neue, statische Webseite anlegen, einen Begrüßungstext schreiben und dann einen Block „Neueste Beiträge“ einfügen. In der Sidebar musst du dann angeben, dass nur die Beiträge der Kategorie Web angezeigt werden sollen.
Dabei gibt es zwei Probleme:
- bei sehr vielen Beiträgen gibt es keine Paginierung
- je nach Theme kann die Ausgabe der Beiträge anders aussehen als auf den anderen Beitragsübersichtsseiten (Blog-Seite, Archive).
Wenn du das vermeiden möchtest, musst du ein Child-Theme anlegen und ein eigenes Template schreiben, wobei besonders auf die Paginierung zu achten ist. Oder du kopierst ein Template category.php
in category-web.php
und fügst in diesem Template Code ein, um den Inhalt einer anderen Seite auszugeben (oder einen als Option im Customizer festgelegten Inhalt). Das (noch) ausführlicher zu beschreiben sprengt aber etwas meinen zeitlichen Rahmen.
Ok @pixolin,
danke für deine Hilfe.
Ich glaube ich lass es so einmal.