Mehrere Autoren und Gastautoren für WordPress Beiträge hinzufügen
Standardmäßig weist WordPress jedem Beitrag einen einzelnen Autor zu. Mehrere Verfasser sind dabei nicht möglich. Mit dem Co-Authors Plus Plugin können für WordPress Beiträge aber auch zusätzliche Autoren hinzugefügt und im Theme angezeigt werden.
Das WordPress Plugin eignet sich insbesondere für größere, redaktionell betriebene News-Portale als auch für kleinere Blogs, welche oft mit Gastautoren zusammenarbeiten.
Etwas schwierig ist die Implementierung des Plugins im Frontend, weil dazu das vorhandene Theme mit den Template Tags des Plugins erweitert werden muss. Aufgrund der Unterschiede des jeweiligen Themes gibt es hier leider keine allgemeingültige Lösung.
Dieses Tutorial zeigt die Umsetzung mit TwentySeventeen als Beispiel.
Co-Authors Plus
Das Plugin ist auf 20.000 Webseiten installiert und hat etwas durchwachsene Bewertungen, was vor allem an kleineren Bugs in früheren Versionen und der für Nicht-Programmierer komplizierten Implementierung liegt.
Mit dem letzten Update von vor zwei Wochen (April 2017) wurden aber einige Bugs für WordPress 4.7 repariert. In meinen Tests funktionierte das Plugin reibungslos mit der aktuellen WordPress Version.
Neue Autoren mit WordPress Account hinzufügen
Falls für die zusätzlichen Autoren noch keine eigenen Accounts mit Login existieren, können im WordPress Adminbereich unter Benutzer → Neu hinzufügen jederzeit neue Nutzer angelegt werden. Weiter unten zeige ich auch die Möglichkeit, Gastautoren ohne eigenes Konto anzulegen.
Mit eigenem WordPress Konto können sich Autoren selbst einloggen, was vor allem für regelmäßige Autoren sinnvoll ist. Je nach Benutzerrolle kann der Nutzer dann Beiträge bearbeiten und veröffentlichen.
Die Rechte der Benutzerrollen kurz zusammengefasst:
- Mitarbeiter: Kann eigene Beiträge erstellen, aber nicht selbst veröffentlichen
- Autor: Kann eigene Beiträge bearbeiten und veröffentlichen
- Redakteur: Kann eigene und fremde Beiträge bearbeiten und veröffentlichen
Um den WordPress Nutzer später als weiteren Autor im Beitrag anzuzeigen, wird mindestens die Rolle Mitarbeiter benötigt. Nutzer mit der Rolle Abonnent können nicht als Autor hinzugefügt werden, weil sie die erforderlichen Rechte nicht besitzen.
Mehrere Autoren im Beitrag zuweisen
Das Plugin ersetzt die Standard-Box zur Auswahl des Autors mit einer neuen Box Autoren, mit der mehrere Autoren auf einmal hinzugefügt werden können. Die neue Box ist beim Erstellen oder Bearbeiten eines Beitrags nun in der Seitenleiste oder unter dem Editor vorhanden.
Zum Hinzufügen eines weiteren Autors kann nach dessen Account in der WordPress Installation gesucht werden. Das Plugin kann den passenden Nutzer anhand des Benutzernamens, Vor- und Nachname oder E-Mail Adresse finden.
Mittels Drag&Drop kann auch die Reihenfolge der Autoren einfach verändert werden. Zusätzliche Autoren können wieder entfernt werden, jeder Beitrag muss aber mindestens einen Autor zugewiesen haben.
Gastautoren hinzufügen
Wer nur unregelmäßig Gastbeiträge von fremden Autoren veröffentlichen möchte, aber grundsätzlich einen Blog als alleiniger Verfasser betreibt, wird eher selten neue Benutzer-Accounts für jeden Gastautor anlegen wollen.
Hierfür bietet das Plugin die Option, unter Benutzer → Gastautoren zusätzliche Autoren für Gastbeiträge anzulegen. Die Gastautoren erhalten dabei kein eigenes WordPress Konto und können sich folglich auch nicht selbst einloggen, um Beiträge zu erstellen und zu bearbeiten.
Neben normalen WordPress Nutzern können aber in der Autoren Box auch die angelegten Gastautoren ausgewählt werden.
Im Frontend ist der Unterschied zwischen Gastautor und richtigen Konto mit Login nicht ersichtlich. Für Gastautoren steht ebenfalls eine Archiv-Seite mit allen Beiträgen des Autors zur Verfügung.
Autoren im Theme anzeigen
Da jedes Theme den Autor des Beitrags an verschiedenen Stellen und mit anderen Funktionen darstellt, bestehen keine allgemeinen Hooks, mit denen das Co-Authors Plus Plugin die Autoren anzeigen kann.
Aus diesem Grund werden die zusätzlichen Autoren nicht automatisch im Theme angezeigt, nachdem diese im Adminbereich hinzugefügt wurden. Es handelt sich dabei um keinen Fehler des Plugins.
Das Plugin stellt drei verschiedene Template Funktionen bereit, mit denen die Autoren im Theme angezeigt werden können:
- coauthors() – Zeigt Autoren ohne Hyperlinks
- coauthors_posts_links() – Zeigt Autoren mit Link zur Autor-Archiv
- coauthors_links() – Zeigt Autoren mit Link zu derer Website
Die Funktionen können in einer passenden Template Datei des Themes eingebaut werden. Dazu sollte die Template Datei aber mit einem Child Theme überschrieben werden.
Wichtig ist, die Verfügbarkeit des Plugins mit einer function_exists() Abfrage zu überprüfen.
if ( function_exists( 'coauthors_posts_links' ) ) {
coauthors_posts_links();
} else {
the_author_posts_link();
}
Damit wird sichergestellt, dass es zu keinen Fehlern kommt, wenn das Plugin deaktiviert wurde.
Vorhandene Template Funktionen erweitern (Beispiel TwentySeventeen)
Die meisten Themes werden bereits den Autor des Beitrags im Theme anzeigen. Meistens werden hier eigene Template Funktionen verwendet, welche sich mit dem Durchstöbern der Theme Dateien ausfindig machen lassen. Oftmals in /inc/template-tags.php zu finden.
Häufig sind diese Funktionen pluggable, d.h. sie können in einem Child Theme überschrieben werden. Pluggable Funktionen sind erkennbar an einer if-Abfrage mit function_exists(), welche die Funktion einschließt.
Im neuen Standard-Theme TwentySeventeen wird das Datum und der Autor des Beitrags mit der Funktion twentyseventeen_posted_on() dargestellt. Diese Funktion kann in die functions.php des Child Themes kopiert und anschließend mit den Template Funktionen des Co-Author Plus Plugins erweitert werden.
function twentyseventeen_posted_on() {
// Show multiple authors if Co-Authors plugin activated.
if ( function_exists( 'coauthors_posts_links' ) ) {
$byline = sprintf(
/* translators: %s: post author */
__( 'by %s', 'twentyseventeen' ),
coauthors_posts_links( ', ', ' und ', null, null, false )
);
} else {
// Get the author name; wrap it in a link.
$byline = sprintf(
/* translators: %s: post author */
__( 'by %s', 'twentyseventeen' ),
'<span class="author vcard"><a class="url fn n" href="' . esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ) . '">' . get_the_author() . '</a></span>'
);
}
// Finally, let's write all of this to the page.
echo '<span class="posted-on">' . twentyseventeen_time_link() . '</span><span class="byline"> ' . $byline . '</span>';
}
Falls das Plugin aktiviert ist, wird die Funktion coauthors_posts_links() zur Anzeige der Autoren verwendet.
Das Ergebnis:
Fazit
Das Co-Authors Plus Plugin ist ein einfach zu bedienendes Plugin, um Gastautoren oder mehrere Autoren in WordPress Beiträgen anzuzeigen.
Die Implementierung des Plugins im WordPress Theme benötigt aber Erfahrung in der WordPress Theme Entwicklung und ist für Anwender oft nicht allein zu bewerkstelligen. Für Einsteiger empfiehlt sich hier eine Anfrage beim Entwickler des Themes oder die Beauftragung eines Freiberuflers.