So erstellen Sie benutzerdefinierte Single-Post-Vorlagen in WordPress

Veröffentlicht: 2023-02-12

Haben Sie jemals eine Beitragsdetailseite mit einem völlig anderen Layout als andere Beiträge auf derselben Website gesehen? Das liegt wahrscheinlich daran, dass es eine benutzerdefinierte Vorlage verwendet. Sie können einzelnen Beiträgen eine benutzerdefinierte Vorlage zuweisen, wodurch Sie mehr Flexibilität beim Erscheinungsbild Ihrer Website erhalten.

Möchten Sie erfahren, wie Sie eine benutzerdefinierte Single-Post-Vorlage erstellen? In diesem Beitrag zeige ich dir, wie du ganz einfach deine eigenen erstellen kannst!

Inhaltsverzeichnis
1. Der Vorteil benutzerdefinierter Vorlagen
2. So erstellen Sie eine benutzerdefinierte Beitragsvorlage
3. Kann ich dafür ein Plugin verwenden?
4. Fazit

Der Vorteil benutzerdefinierter Vorlagen

Bevor wir mit der Erstellung beginnen, wollen wir untersuchen, warum Sie möglicherweise eine benutzerdefinierte Vorlage benötigen und was sie bewirkt.

Wenn Sie möchten, dass sich ein bestimmter Beitrag oder Beitragstyp vom Rest Ihrer Inhalte abhebt, sollten Sie erwägen, eine benutzerdefinierte Vorlage für einen einzelnen Beitrag zu erstellen. Diese Vorlage wird nur auf die Posts angewendet, denen Sie sie zuweisen, was bedeutet, dass sie ein völlig anderes Layout haben kann als Ihre Standardposts. Ein einzigartiges Design und Layout kann dann die Benutzerbindung für diesen bestimmten Beitrag erhöhen.

Sind Sie bereit, Ihre eigenen zu entwickeln? Das Erstellen und Verwenden einer benutzerdefinierten Beitragsvorlage ähnelt einer benutzerdefinierten Seitenvorlage.

Frau sitzt am Schreibtisch mit Laptop, der mit Aufklebern bedeckt ist

So erstellen Sie eine benutzerdefinierte Beitragsvorlage

Ich werde das Design Twenty Seventeen für mein Beispiel verwenden, aber der Prozess ist für jedes Design gleich.

Bevor ich eine benutzerdefinierte Beitragsvorlage erstelle, erstelle ich zuerst ein Child-Theme. Sie können im Hauptdesign arbeiten, aber da Sie eine benutzerdefinierte Vorlage erstellen, verlieren Sie Ihre Vorlage, wenn Sie das übergeordnete Design aktualisieren. Aus diesem Grund empfiehlt es sich, Ihre benutzerdefinierten Vorlagen vom Hauptthema getrennt zu halten.

Für eine benutzerdefinierte Vorlage müssen Sie einen Vorlagennamen (den Namen der Vorlage) und einen Vorlagen-Beitragstyp (wo diese Vorlage verwendet wird) definieren. Es sieht aus wie das:

 [php]
<?php
/* Name des Templates: Beitrag in voller Breite * Beitragstyp des Templates: post*/ /*Die Vorlage zum Anzeigen einzelner Beiträge in voller Breite. */
get_header( );
?>
[/php]

Behalten Sie beim Speichern der Datei den Dateinamen bei, der für den Vorlagennamen relevant ist, z. B. full-width-post.php . Wenn Sie einen Beitrag über das Admin-Panel anzeigen, wird die neue Vorlage in einem Dropdown-Menü des Abschnitts „Beitragsattribute“ angezeigt.

So posten Sie Attribute Vorlage Füllbreite Post

Unsere benutzerdefinierte Vorlage ist fertig, aber noch nicht nützlich. Machen wir es ein bisschen vorteilhafter!

Hinweis: Wir werden an mehreren Dateien arbeiten, behalten Sie also die Dateinamen und Ordner im Auge.

Hier ist das aktuelle Layout der Blog-Beitragsseiten im Thema Twenty Seventeen. Ich bin damit zufrieden, also belassen wir es dabei.

normales Beitragsbeispiel

Nehmen wir nun an, Sie möchten ein Layout in voller Breite für ein paar Posts. Wir werden den Beitragstitel über die Metadaten setzen. Die Metadaten sollten oben und unten einen Rahmen haben und sowohl Titel als auch Metadaten sollten zentriert ausgerichtet sein. Hier ist das Drahtmodell:

Beitragstitel Beitragsdatum nach Autorenvorlage grobes Mockup

Um dieses Layout zu erstellen, müssen Sie herausfinden, welche Datei für die Anzeige der Beitragsdetailseiten verantwortlich ist. In den meisten Themes ist single.php die Datei, es sei denn, es gibt bestimmte vordefinierte Vorlagen. Die Codestruktur variiert von Thema zu Thema, daher kann es ein wenig Lernen erfordern, um zu verstehen, wie Ihr spezielles Thema funktioniert.

Wenn Sie die Datei gefunden haben, die Beitragsdetailseiten anzeigt, sollten Sie herausfinden, ob eine Funktion verwendet wird, um eine andere Datei aufzurufen, oder ob die Vorlage direkt erstellt wird. In diesem Beispiel mit dem Thema Twenty Seventeen ist es die Funktion get_template_part.

Der Pfad get_template_part ist der wichtigste Teil, dem hier zu folgen ist.

 [php]

<div class="wrap">

<div id="primär" class="Inhaltsbereich">
        	<main id="main" class="site-main" role="main">
              	<?php /* Schleife starten */ while ( have_posts() ) : the_post(); get_template_part( 'template-parts/post/content', get_post_format() ); // Wenn Kommentare geöffnet sind oder wir mindestens einen Kommentar haben, laden Sie die Kommentarvorlage. if ( comments_open() || get_comments_number() ) : comments_template(); endif; the_post_navigation( array( 'prev_text' => '<span class="screen-reader-text>' . __( 'Previous Post', 'twentyseventeen' ) . '</span><span aria-hidden="true" class="nav-subtitle">' . __( ' Vorherige', 'twentyseventeen' ) . '</span> <span class="nav-title"><span class="nav-title-icon-wrapper>' . Twentyseventeen_get_svg( array( 'icon' => 'arrow-left' ) ) . '</ span>%title</span>',
                          	'next_text' => '<span class="screen-reader-text">' . __( 'Nächster Beitrag', 'siebzehnundzwanzig' ) . '</span><span aria-hidden="true" class="nav-untertitel">' . __( 'Weiter', 'siebzehnundzwanzig' ) . '</span> <span class=>%title<span class="nav-title-icon-wrapper>' . Twentyseventeen_get_svg( array( 'icon' => 'Pfeil-rechts' ) ) . '</span></span>',
                    	) );
              	am Ende; // Ende der Schleife.
              	?>
[/php]

Wie Sie sehen können, bezieht es sich auf einen Pfad:

 [php]
get_template_part( 'template-parts/post/content', get_post_format()
);
[/php] 
WordPress-Dateien auf dem lokalen Rechner

Die Datei content.php wird also innerhalb single.ph aufgerufen, um die Post-Detailseite auszugeben.

Nachdem Sie nun wissen, wie die Datei single.php funktioniert, kopieren wir den Code daraus und fügen ihn in unsere zuvor erstellte Datei full-width-post.php im Child-Theme ein. Da es sich um eine Vorlage in voller Breite handelt, entfernen wir die Seitenleiste.

Post-Datei in voller Breite hervorgehoben

Kopieren Sie nun die Datei content.php aus dem oben genannten Pfad. Sie können es in dasselbe Verzeichnis einfügen, in dem sich Ihre Vorlagendatei befindet, aber ich würde vorschlagen, derselben Ordnerstruktur wie das übergeordnete Design zu folgen.

Sie können den Dateinamen unverändert lassen, aber wenn Sie jemals etwas in der Standardvorlage ändern möchten, führt dies zu einem Konflikt. Um Probleme zu vermeiden, würde ich vorschlagen, die Datei umzubenennen und sie für den Vorlagennamen relevant zu halten, z. B. content-full-width.php .

Inhaltsdatei in voller Breite im Beitragsordner auf dem lokalen Computer

Die Dateien sind vorhanden, also ändern wir jetzt den Code, um den Beitragstitel und die Beitragsmetadaten auszutauschen.

 [php]

<header class="entry-header">
        	<?php

        	if ( is_single() ) {
              	der Titel( '

<h1 class="Eintragstitel">', '</h1>

');
        	} Elseif ( is_front_page() && is_home() ) {
              	der Titel( '

<h3 class="Eintragstitel"><a href="' . esc_url(get_permalink()) . '" rel="Lesezeichen">', '</a></h3>

');
        	} anders {
              	der Titel( '

<h2 class="Eintragstitel"><a href="' . esc_url(get_permalink()) . '" rel="Lesezeichen">', '</a></h2>

');
        	}

        	if ( 'post' === get_post_type() ) {

              	Echo '

<div class="entry-meta">';
                    	if ( is_single() ) {
                    	  	zwanzigsiebzehn_posted_on();
                    	} anders {
                          	Echo Twentyseventeen_time_link ();
                          	zwanzigsiebzehn_edit_link();
                    	};
              	echo '</div>

<!-- .entry-meta -->';
        	};
        	?>
  	</header>

<!-- .entry-header -->
[/php]

Um diese Vorlage zu verwenden, bearbeiten Sie den gewünschten Beitrag im WordPress-Admin und weisen Sie die Vorlage aus dem Dropdown-Menü zu.

Benutzerdefinierte Vorlage für Beiträge in voller Breite, die in WordPress ausgewählt wurde

Wenn Sie den Beitrag im Frontend überprüfen, ist er immer noch nicht in voller Breite, aber der Titel und die Metadaten haben die Plätze getauscht, sodass wir wissen, dass der Beitrag unsere benutzerdefinierte Vorlage verwendet

Screenshot der Website in voller Breite

Wir müssen etwas CSS hinzufügen, um es in voller Breite zu machen. WordPress generiert automatisch eine Klasse gemäß dem Vorlagennamen im Body-Abschnitt.

Beitrag in voller Breite mit Screenshot der Website überprüfen

Verwenden Sie diese Klasse, um auf diese bestimmte Vorlage abzuzielen. Sie können das CSS zur style.css Datei des Child-Themes hinzufügen.

 [CSS]
.post-template-full-width-post.has-sidebar:not(.error404) #primary{
Schwimmer: keine;
Breite: automatisch;
}

.post-template-post in voller Breite .entry-header{
Textausrichtung: Mitte;
Rand unten: 1,3 em;
}

.post-template-post-in-voller-breite .entry-meta{
Rand oben: 1px solid #ccc;
Rand unten: 1px solid #ccc;
Polsterung: 15px 0;
}
[/css]

Jetzt haben wir das gewünschte Layout. Jeder Beitrag, der diese Vorlage verwendet, hat genau denselben Stil.

Pfosten in voller Breite

Sie können so viele benutzerdefinierte Vorlagen erstellen, wie Sie möchten, um Ihren Anforderungen gerecht zu werden. Sie können sogar Vorlagen basierend auf Beitragskategorien erstellen.

Kann ich dafür ein Plugin verwenden?

Wenn Sie mit PHP-Codes nicht vertraut sind, können Sie einige Plugins verwenden, aber ich muss zugeben, dass es nur sehr wenige Plugins zum Erstellen benutzerdefinierter Beitragsvorlagen gibt und die meisten davon nicht sehr nützlich sind, da Sie die Vorlage sowieso manuell erstellen müssen.

Ich fand das Post Custom Templates Lite-Plugin sehr nützlich. Es ist ein kostenloses Plugin, mit dem Sie Post-Vorlagen ohne Programmierung in einer netten Drag-and-Drop-Oberfläche erstellen können. Es hat viele Anpassungsoptionen. Wenn Sie also eine Beitragsvorlage anpassen möchten, kann Ihnen dieses Plugin im Allgemeinen helfen.

Hinweis: In der kostenlosen Version können Sie nur normale Beitragsvorlagen anpassen. Sie müssen die Pro-Version verwenden, um benutzerdefinierte Beitragsvorlagen erstellen zu können und einige zusätzliche Funktionen zu erhalten.

Mann, der auf einem Laptop tippt, der mit Hund auf einer blauen Couch sitzt

Abschluss

Unabhängig davon, ob Sie manuell arbeiten oder ein Plugin verwenden, um eine benutzerdefinierte Vorlage für einzelne Posts zu erstellen, können sich Ihre wichtigsten Posts von den anderen abheben. Schauen Sie sich zur Inspiration die Website von Brian Dean an; Er verwendet eine bestimmte Vorlage für seine endgültigen Leitfäden, damit sie sich von den anderen seiner Beiträge unterscheiden.

Probieren Sie es aus und erstellen Sie Ihre eigene einzigartige Single-Post-Vorlage! Um die besten Ergebnisse für jede von Ihnen erstellte Website zu erzielen, wählen Sie die verwaltete Hosting-Plattform von WP Engine als Ihre einzige Quelle für WordPress-Hosting!