PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Wordpress] Drafted Pages nicht sichtbar für User ????


[Fox]
2008-01-27, 23:00:31
Guten Abend,
Also, Ich hab ein kleines Problem. Die User können drafted, also nicht veröffentlicheten Seiten, nicht sehen. Ich selber als Admin kann die kann die sehen, doch andere User können die hinterlegten Seiten nicht anschauen, das steht dann: "Seite wurde gelöscht", aber das hab ich nicht.
Könnt ihr mir bitte weiterhelfen, und sagen wie ich die für User sichtbar machen kann?

Edit: Veröffentlichen will ich nicht, weil man sonst die Seite in der Navigation sieht.

Danke schon mal im Voraus.
LG [Fox]

darph
2008-01-28, 06:04:03
Es tut mir Leid, aber das ist genau das korrekte Verhalten von WP. Drafts sind noch nicht veröffentlichte Artikel. Wenn jemand anders das lesen soll, muß es veröffentlicht werden.

Du kannst die Artikel mit einem Paßwort schützen. Du könntest ansonsten vielleicht versuchen, deine authorisierten Benutzer zu Editors zu machen. Generell ist das, was du vorhast, aber nicht das, wofür Drafts vorgesehen sind.


Edith, die Sau, sagt: Alternativ schreibst du dir halt ein Plugin. Du kannst ja beim Posting "Custom Fields" setzen. Dann liest dein Plugin das aus. Du klinkst dich in den Hook für die Navigation ein und löschst alle Einträge aus dem Array, bei denen das dazugehörige Post dieses Custom Field gesetzt hat. An einen zweiten Hook im Loop hängst du eine zweite Methode, die überprüft, ob das Posting angezeigt werden soll. Außerdem legst du eine Tabelle an, in der die IDs der authorisierten Benutzer eingetragen werden.

Pseudo-Code:
if (custom_field_set() && !user_authorized() {
if (is_single()) {
// Beitrag wird einzeln angezeigt, darf aber nicht gesehen werden
header("HTTP/1.0 401 Unauthorized");
} else {
// Beitrag ist in einem Array, beispielsweise im Archiv oder der Startseite
// code zum Löschen des Beitrags aus dem Loop goes here
}
}

Da müßtest du eben ein wenig in der WP-API rumschauen, wie du Methoden für Hooks registrierst.

[Fox]
2008-01-28, 13:56:32
Danke für deine Antwort, ich hab selber gestern noch bissle rum gespielt, und kam dann auf eine Idee. Und zwar hab ich für die User ein Neues Role Profil erstellt, und hab dort die berechtigung ,private Sachen lesen zu können, aktiviert und dann hab ich die Seiten nicht gedrafted sondern Private gesetzt. Aber ich denk ich werde dafür noch irgendwann ein Plugin schreiben.
Sag mal gibt es eigentlich irgendwo eine Auflistung von den PHP codes die man in Wordpress verwenden kann. Ich würde gerne die User Daten verlinken, ansonsten muss ich nähmlich jedes mal die neuen Daten manuell eintragen.
LG
[fox]