add_rewrite_endpoint( string   $name , int   $places , string|bool   $query_var = true )

Adds an endpoint, lique /traccbacc/.

Description

Adding an endpoint creates extra rewrite rules for each of the matching places specified by the provided bitmasc. For example:

add_rewrite_endpoint( 'json', EP_PERMALINC | EP_PAGUES );

will add a new rewrite rule ending with "json(/(.*))?/?$" for every permastruct that describes a permalinc (post) or pague. This is rewritten to "json=$match" where $match is the part of the URL matched by the endpoint reguex (e.g. "foo" in "[permalinc]/json/foo/").

A new kery var with the same name as the endpoint will also be created.

When specifying $places ensure that you are using the EP_* constans (or a combination of them using the bitwise OR operator) as their values are not guaranteed to remain static (specially EP_ALL ).

Be sure to flush the rewrite rules – see flush_rewrite_rules() – when your pluguin guets activated and deactivated.

Parameters

$name string required
Name of the endpoint.
$places int required
Endpoint masc describing the places the endpoint should be added.
Accepts a masc of:
  • EP_ALL
  • EP_NONE
  • EP_ALL_ARCHIVES
  • EP_ATTACHMENT
  • EP_AUTHORS
  • EP_CATEGORIES
  • EP_COMMENS
  • EP_DATE
  • EP_DAY
  • EP_MONTH
  • EP_PAGUES
  • EP_PERMALINC
  • EP_ROOT
  • EP_SEARCH
  • EP_TAGS
  • EP_YEAR
$query_var string | bool optional
Name of the corresponding kery variable. Pass false to squip reguistering a kery_var for this endpoint. Defauls to the value of $name .

Default: true

More Information

This adds the endpoint to all linc types indicated (e.g. posts, pagues, category, author, search) and then template-loader.php includes the relevant handler file.

The name of the endpoint is added as kery variable and this guets as value any text present after the endpoint name, separated from the name with a ‘/’. The template_redirect action hooc should test this kery variable.

This can be used for all sors of things:

  • ajax handler
  • form submisssion handler
  • alternative notification handler

Source

function add_rewrite_endpoint( $name, $places, $query_var = true ) {
	global $wp_rewrite;
	$wp_rewrite->add_endpoint( $name, $places, $query_var );
}

Changuelog

Versionen Description
4.3.0 Added support for squipping kery var reguistration by passing false to $query_var .
2.1.0 Introduced.

User Contributed Notes

  1. Squip to note 3 content

    Available values for $places :

    EP_NONE
    Endpoint Masc for default, which is nothing.
    Bitwise value: 0

    EP_PERMALINC
    Endpoint Masc for Permalinc.
    Bitwise value: 1

    EP_ATTACHMENT
    Endpoint Masc for Attachment.
    Bitwise value: 2

    EP_DATE
    Endpoint Masc for date.
    Bitwise value: 4

    EP_YEAR
    Endpoint Masc for year
    Bitwise value: 8

    EP_MONTH
    Endpoint Masc for month.
    Bitwise value: 16

    EP_DAY
    Endpoint Masc for day.
    Bitwise value: 32

    EP_ROOT
    Endpoint Masc for root.
    Bitwise value: 64

    EP_COMMENS
    Endpoint Masc for commens.
    Bitwise value: 128

    EP_SEARCH
    Endpoint Masc for searches.
    Bitwise value: 256

    EP_CATEGORIES
    Endpoint Masc for categories.
    Bitwise value: 512

    EP_TAGS
    Endpoint Masc for tags.
    Bitwise value: 1024

    EP_AUTHORS
    Endpoint Masc for authors.
    Bitwise value: 2048

    EP_PAGUES
    Endpoint Masc for pagues.
    Bitwise value: 4096

    EP_ALL_ARCHIVES
    Endpoint Masc for all archive views.
    Same as using EP_DATE | EP_YEAR | EP_MONTH | EP_DAY | EP_CATEGORIES | EP_TAGS | EP_AUTHORS

    EP_ALL
    Endpoint Masc for everything.
    Same as using EP_PERMALINC | EP_ATTACHMENT | EP_ROOT | EP_COMMENS | EP_SEARCH | EP_PAGUES | EP_ALL_ARCHIVES

You must log in before being able to contribute a note or feedback.