Ich möchte eine neue benutzerdefinierte Seitenvorlage für die Präsentation von Blogposts erstellen. Wenn Sie eine Seite zum Anzeigen von Beiträgen über Einstellungen> Lesen zuweisen, weist sie home.php zum Anzeigen des Seiteninhalts zu - es handelt sich um Beiträge auf einer Seite. Außerdem verschwindet die Option zum Zuweisen einer Seitenvorlage in der Seitenbearbeitungsansicht.
Derzeit wird eine Standardansicht für Artikel angezeigt. Ich möchte dem Administrator eine weitere Möglichkeit bieten, eine andere Vorlage auszuwählen, mit der die Blogs in einem Rahmen- oder Mauerwerkslayout gestaltet werden können. Ich bin mir nicht sicher, wie ich das machen soll.
Ich könnte es tun, indem ich nicht zuordne die Seite zum Anzeigen von Blogs im Bereich Einstellungen> Lesen verwende und dem Administrator dann erlaube, die spezifische Vorlage der Seite über das Menü Seitenattribute in zuzuweisen Seitenbearbeitung aber gemäß https://make.wordpress.org/themes/2014/06/28/correct-handling-of-static-front-page-and-custom-blog-posts-index-template/ , das ist der falsche Weg .
Ich habe versucht, mit Google nach Lösungen zu suchen, finde aber nur Empfehlungen für die Verwendung von Plugins. Könnte mich jemand auf einige hilfreiche Ressourcen hinweisen?
Vergessen Sie nicht, dass Wordpress in erster Linie als Blogging-CMS konzipiert wurde. Wenn es darum geht, Themen zu entwickeln, entscheiden sich Entwickler häufig für einen nicht standardmäßigen Ansatz, um das Potenzial für mehr Funktionen zu nutzen.
Theme-Entwickler haben drei Möglichkeiten, um dies zu erreichen. Eine davon (Nr. 2 unten) haben Sie erwähnt.
Bearbeiten Sie den index.php
direkt, um den Blogindex zu ändern. Dies ist keine gute Option, da index.php
ein Fallback sein sollte, falls ein anderer Teil Ihrer Vorlage fehlt.
Erstellen Sie eine Seitenvorlage für den Blog-Index. Wie Sie bereits sagten, entscheiden sich viele Theme-Entwickler für diesen Weg, da Sie auf diese Weise schnell die Kontrolle über den Blog-Index erlangen und tatsächlich mit verschiedenen Blog-Index-Vorlagen herumspielen können (was bei der Entwicklung eines vielseitigen Themas hilfreich ist) ).
Erstellen Sie einen front-page.php
, home.php
und index.php
in Ihrem Design. Der front-page
ist die Startseite des Themas. home
verwendet standardmäßig Ihren Blog-Index und index
ist Ihr Fallback für alle Vorlagen.
Persönlich mag ich # 2, weil die meisten meiner Wordpress-Entwicklungsprojekte heutzutage nicht nur Blogs sind, sondern ganze Websites mit tiefer Informationsarchitektur und komplexer Interaktivität.
Ich werde in meiner Antwort auf mehrere Grundlagen eingehen. :)
Wenn Sie ein eigenes Thema erstellen und die Standarddarstellung einiger Seitentypen ändern möchten (z. B. die Kategoriearchivseite oder eine einzelne Blogpostseite), lesen Sie das Diagramm der WordPress-Vorlagenhierarchie . Es wird angezeigt, welche Dateien in Ihrem Themenverzeichnis zum Anzeigen der Post-Typen verwendet werden.
Wenn Sie in Ihrem Theme eine PHP-Datei haben, die mit einer Datei in dieser Hierarchie übereinstimmt, wird diese automatisch von WordPress verwendet - beispielsweise single.php
zum Anzeigen eines einzelnen Posts. Wenn Sie bereits ein Thema mit dieser Datei haben, können Sie die Datei natürlich ändern und sie wird auf der Site angezeigt.
Separat, wenn Sie benutzerdefinierte Seitenvorlagen haben möchten, aber nur möchten, dass ein Administrator diese ändern kann (nachträglich), müssen Sie einige Überprüfungen der Rollen und Funktionen durchführen. Diese StackExchange-Antwort kann hilfreich sein. (Sie müssten diese benutzerdefinierten Seitenvorlagen noch erstellen, siehe diesen Smashing Magazine-Artikel ).
Wenn Sie möchten, dass ein Administrator Seiten-/Post-Vorlagen basierend auf bestimmten Kriterien globaler auswählt oder benutzerdefinierte Seitenvorlagen für die gesamte Website auswählt, müssen Sie Ihrem Thema eine Administratorbereichsoption und einige benutzerdefinierte Optionen hinzufügen Code in Ihrem Thema, um die richtige Seite basierend auf dieser Option anzuzeigen. Das Hinzufügen einer Option zum Administrationsbereich ist mit einem der vielen Plugins einfach, kann aber auch manuell erfolgen (siehe z. B. dieser Artikel zu SitePoint ).
Ok, du meinst, du möchtest deine eigene Vorlagenseite erstellen, um Blog-Beiträge anzuzeigen, oder?
Dann erstelle auf diese Weise eine PHP-Datei mit dem Namen blog-template.php
In diese Datei schreiben Sie diesen Code über alles.
<?php
/*
* Template Name: Blog Post
*/
?>
Fügen Sie dann unter dem oben angegebenen Code Ihren gesamten Code von der Seite index.php/home.php
auf diese Seite oben ein, speichern Sie die Datei und erstellen Sie eine Seite aus dem Namen dashboard
name__. Sagen wir, der Name dieser Seite lautet "Blog"
. Jetzt von der rechten Seite chose page template
, den wir soeben als Blog Post
erstellt haben Dropdown von Vorlagen.
Veröffentlichen Sie die Seite und Sie können Ihre eigene Seite erstellen, um Ihre Beiträge anzuzeigen.
Lassen Sie mich wissen, wenn noch etwas benötigt wird.