Ich habe ein CPT so eingerichtet, dass es sich wie Posts verhält, aber zum Posten von Ereignisdetails verwendet.
Es ist so, dass einige der Posts in der Zukunft liegen und auf denen ein zukünftiges Datum festgelegt ist. Problem ist, dass normale Benutzer diese Beiträge nicht sehen können.
Damit:
- Wie ändere ich archive-events.php, um auch zukünftige Beiträge aufzulisten? Anzeigen der ersten und ältesten Beiträge zukünftiger zukünftiger Beiträge unter Beibehaltung der Paginierung.
- Wie mache ich es so, dass ein Benutzer, wenn er auf einen zukünftigen Beitrag klickt, keine 404-Seite erhält, die nicht gefunden wurde, da der Beitrag noch nicht technisch veröffentlicht ist?
Antworten:
Ich konnte das selbst lösen. Mein gesamter Code zur Registrierung des CPT:
Damit Beiträge für alle Benutzer sichtbar sind, auch wenn sie in Zukunft festgelegt werden, müssen Sie Folgendes tun:
Wir entfernen die Aktion, die sich mit der späteren Veröffentlichung befasst, und wenden unsere eigene Aktion an, um die Veröffentlichung zu erzwingen, obwohl sie ein zukünftiges Datum hat mit:
Dann müssen wir nur noch zukünftige Beiträge auf der Archivseite anzeigen, indem wir filtern
posts_where
:quelle
__()
Anrufen eine Textdomäne hinzu oder verwenden Sie keine Funktion.Brady, ich kann dir nicht genug danken, dass du mich zu dieser Lösung geführt hast. Mein Kunde hatte bereits alle Veranstaltungstermine ohne ein benutzerdefiniertes Feld festgelegt, und ich wollte nicht zurückgehen und alles ändern. Ihr Code hat beim Versuch, etwas zu posten, anfangs einen Fehler ausgegeben, der jedoch mit den folgenden geringfügigen Änderungen funktioniert hat (entsprechend dem in wp-include / post.php verwendeten Format):
und
Ich habe eine Weile versucht, das herauszufinden. Hoffe es hilft jemand anderem!
quelle
Ohne den Beitragsstatus zu ändern, können Sie zukünftige Beiträge einzeln anzeigen und auch mit pre_get_posts archivieren:
quelle