On this page
add_rewrite_endpoint( string $name, int $places, string|bool $query_var = true )
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
$namestring Required-
Name of the endpoint.
$placesint Required-
Endpoint mask describing the places the endpoint should be added.
Accepts a mask of:
EP_ALLEP_NONEEP_ALL_ARCHIVESEP_ATTACHMENTEP_AUTHORSEP_CATEGORIESEP_COMMENTSEP_DATEEP_DAYEP_MONTHEP_PAGESEP_PERMALINKEP_ROOTEP_SEARCHEP_TAGSEP_YEAR
$query_varstring|bool Optional-
Name of the corresponding query variable. Pass
falseto skip registering a query_var for this endpoint. Defaults to the value of$name.Default:
true
More Information
template_redirect action hook should test this query variable. This can be used for all sorts of things:
- ajax handler
- form submission handler
- alternative notification handler
Source
File: wp-includes/rewrite.php. View all references
function add_rewrite_endpoint( $name, $places, $query_var = true ) {
global $wp_rewrite;
$wp_rewrite->add_endpoint( $name, $places, $query_var );
}
Related
Uses
| Uses | Description |
|---|---|
| WP_Rewrite::add_endpoint() wp-includes/class-wp-rewrite.php | Adds an endpoint, like /trackback/. |
Changelog
© 2003–2022 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/functions/add_rewrite_endpoint