Ich habe mehrere unveröffentlichte Posts auf meiner Wordpress-Website und versuche, sie mit den normalen Post-Slugs ( site.com/post-here
) für normale Benutzer (die nicht angemeldet sind) zugänglich zu machen . Ich verstehe, dass dies möglicherweise nicht die beste Vorgehensweise ist, aber für meinen speziellen Zweck muss dies getan werden.
Ich habe versucht, den folgenden Codeausschnitt zu meiner functions.php
Datei hinzuzufügen :
function enable_view_drafts() {
$role = get_role( 'subscriber' );
$role->add_cap( 'read_private_posts' );
$role->add_cap( 'edit_posts' );
}
add_action( 'after_setup_theme', 'enable_view_drafts');
Ich habe init
stattdessen auch Haken ausprobiert after_setup_theme
. Kein Glück.
Nach meinem Verständnis werden Änderungen an Rollen in der Datenbank gespeichert und müssen daher nur einmal ausgeführt werden. Deshalb benutze ich after_setup_theme
Hook, um die Funktion aufzurufen.
Wenn ich jedoch versuche, als normaler Benutzer auf die Seite zuzugreifen, wird mir eine 404-Seite angezeigt, anstatt den Inhalt des Beitrags. Ich habe auch versucht, die Vorschau-URL ( site.com/?p=212&preview=true
) zu laden, aber das hat auch nicht funktioniert.
Das sind meine Vermutungen:
- Der normale Benutzer hat nicht genug Zeit
caps
, um den Entwurfspost zu lesen. - Das Testen und Anzeigen von Entwurfsposten im Front-End ist für Benutzer (einschließlich Administratoren) nicht möglich.
Welche Änderungen muss ich vornehmen, um das zu erreichen, was ich versuche? Wenn es nicht möglich ist, welche alternativen Lösungen schlagen Sie vor?
Hinweis: Ich suche keine Plugin-basierten Lösungen.