Ich registriere eine benutzerdefinierte Taxonomie für mein Blog mit der Funktion register_taxonomy, die ein Argument hat rewrite
um die URLs mit einigen Parametern umzuschreiben
einer von ihnen ist ep_mask
. WordPress behauptet, dass es verwendet werden sollte, wenn Sie einen Endpunkt für die Taxonomie-URL hinzufügen möchten. Ich verstehe einfach nicht, warum ich einen Endpunkt hinzufügen soll und welchen Nutzen er hat. Bitte, wenn ein Beispiel mit einem Ergebnis verfügbar ist, wird es besser sein.
Danke im Voraus
Der Endpunktmaskenwert wird verwendet, um WordPress mitzuteilen, welche Art von Endpunkterweiterungen ein bestimmtes registriertes Element unterstützt und zu denen ein Entwickler Endpunkte hinzufügen kann add_rewrite_endpoint()
.
Standardmäßig bieten Taxonomien (soweit ich weiß) keine an ep_mask
(standardmäßig auf EP_NONE
), aber für benutzerdefinierte Taxonomien könnten Sie eine benutzerdefinierte EP-Maske oder eine der integrierten (z EP_PAGES
), damit die Permalink-Struktur ähnlich wie etwas anderes funktioniert.
Angenommen, Sie stellen die ein ep_mask
Wert zu EP_PERMALINK | EP_PAGES
können Sie dann mit einen neuen Endpunkt registrieren
add_rewrite_endpoint('json', EP_PERMALINK | EP_PAGES);
Was es Ihnen wiederum ermöglichen würde, Ihre Taxonomie-URLs mit anzuhängen json
und der Wert json
wäre als Abfragevariable in verfügbar $wp_query
. Dann können Sie den Wert als Überprüfung verwenden, um die Abfrage, Vorlagen und andere verwandte Dinge zu ändern, wenn die Seite geladen wird.
Hier können Sie mehr über Endpunkte lesen: https://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/ (Ein bisschen alt, sollte aber immer noch widerspiegeln, wie der Kern mit Endpunkten arbeitet.)
Der Vorteil ist, dass Sie den Endpunkt mit hübschen Permalinks verwenden können.
Wenn Sie EP_MASK nicht angeben, funktionieren hübsche Permalinks nicht
Das Beschreibung von ep_mask
in der Dokumentation von register_taxonomy()
enthält ein Link zu einem Artikel das erklärt es ausführlich.
Ein Zitat aus diesem Artikel:
Wenn wir unseren Endpunkt allen Post-Permalinks hinzufügen wollten, die wir verwenden würden EP_PERMALINK
. Sowohl für Beiträge als auch für Seiten: EP_PERMALINK | EP_PAGES
. Für Beiträge, Seiten und Kategorien: EP_PERMALINK | EP_PAGES | EP_CATEGORIES
.
Es gibt konkrete Beispiele in diesem Artikel:
https://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/