Adds an endpoint, like /trackback/.
Description
Adding an endpoint creates extra rewrite rules for each of the matching places specified by the provided bitmask. For example:
add_rewrite_endpoint( 'json', EP_PERMALINK | EP_PAGES );
will add a new rewrite rule ending with "json(/(.*))?/?$" for every permastruct that describes a permalink (post) or page. This is rewritten to "json=$match" where $match is the part of the URL matched by the endpoint regex (e.g. "foo" in "[permalink]/json/foo/").
A new query var with the same name as the endpoint will also be created.
When specifying $places ensure that you are using the EP_* constants (or a combination of them using the bitwise OR operator) as their values are not guaranteed to remain static (especially EP_ALL
).
Be sure to flush the rewrite rules – see flush_rewrite_rules() – when your plugin gets activated and deactivated.
Parameters
$name
stringrequired- Name of the endpoint.
$places
intrequired- Endpoint mask describing the places the endpoint should be added.
Accepts a mask of:
EP_ALL
EP_NONE
EP_ALL_ARCHIVES
EP_ATTACHMENT
EP_AUTHORS
EP_CATEGORIES
EP_COMMENTS
EP_DATE
EP_DAY
EP_MONTH
EP_PAGES
EP_PERMALINK
EP_ROOT
EP_SEARCH
EP_TAGS
EP_YEAR
$query_var
string|booloptional- Name of the corresponding query variable. Pass
false
to skip registering a query_var for this endpoint. Defaults to the value of$name
.Default:
true
Source
function add_rewrite_endpoint( $name, $places, $query_var = true ) {
global $wp_rewrite;
$wp_rewrite->add_endpoint( $name, $places, $query_var );
}
Available values for
$places
:EP_NONE
Endpoint Mask for default, which is nothing.
Bitwise value: 0
EP_PERMALINK
Endpoint Mask for Permalink.
Bitwise value: 1
EP_ATTACHMENT
Endpoint Mask for Attachment.
Bitwise value: 2
EP_DATE
Endpoint Mask for date.
Bitwise value: 4
EP_YEAR
Endpoint Mask for year
Bitwise value: 8
EP_MONTH
Endpoint Mask for month.
Bitwise value: 16
EP_DAY
Endpoint Mask for day.
Bitwise value: 32
EP_ROOT
Endpoint Mask for root.
Bitwise value: 64
EP_COMMENTS
Endpoint Mask for comments.
Bitwise value: 128
EP_SEARCH
Endpoint Mask for searches.
Bitwise value: 256
EP_CATEGORIES
Endpoint Mask for categories.
Bitwise value: 512
EP_TAGS
Endpoint Mask for tags.
Bitwise value: 1024
EP_AUTHORS
Endpoint Mask for authors.
Bitwise value: 2048
EP_PAGES
Endpoint Mask for pages.
Bitwise value: 4096
EP_ALL_ARCHIVES
Endpoint Mask for all archive views.
Same as using
EP_DATE
|EP_YEAR
|EP_MONTH
|EP_DAY
|EP_CATEGORIES
|EP_TAGS
|EP_AUTHORS
EP_ALL
Endpoint Mask for everything.
Same as using EP_PERMALINK | EP_ATTACHMENT | EP_ROOT | EP_COMMENTS | EP_SEARCH | EP_PAGES | EP_ALL_ARCHIVES
Rewrite Endpoint API Tutorial: https://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/