Ich verwende viele benutzerdefinierte Post-Typen zum Erstellen von Seitenleisten, Fußzeilen usw. und möchte die direkte Anzeige dieser Post-Typen ausblenden. Ist das möglich?
register_post_type
können Sie angeben, ob ein Beitrag “öffentlich_abfragbar” ist.
public_queryable (boolean) (optional) Ob Abfragen am Frontend als Teil von parse_request () ausgeführt werden können.
Standardwert: Wert des öffentlichen Arguments Hinweis: Die betroffenen Abfragen enthalten Folgendes (auch initiiert, wenn Umschreibungen verarbeitet werden)
- ? post_type = {post_type_key}
- ? {post_type_key} = {single_post_slug}
- ? {post_type_query_var} = {single_post_slug}
Es erwähnt nichts über Abfragen der Form ?p=
, und aus dem Speicher werden diese immer noch Ihre benutzerdefinierten Post-Typen-Ereignis mit dem Public_queryable auf false eingestellt. Um dies zu verhindern, können Sie sich in template_redirect
einklinken und auf eine andere (404?) Seite redirect.