返回介绍

add_rewrite_endpoint()

发布于 2017-09-10 21:17:32 字数 4763 浏览 1480 评论 0 收藏 0

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

Add 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.


参数

$name

(string) (Required) Name of the endpoint.

$places

(int) (Required) Endpoint mask describing the places the endpoint should be added.

$query_var

(string|bool) (Optional) Name of the corresponding query variable. Pass false to skip registering a query_var for this endpoint. Defaults to the value of $name.

Default value: true


源代码

File: wp-includes/rewrite.php

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

更新日志

Versiondescription
4.3.0Added support for skipping query var registration by passing false to $query_var.
2.1.0Introduced.

相关函数

Uses

  • wp-includes/class-wp-rewrite.php: WP_Rewrite::add_endpoint()

User Contributed Notes

  1. Skip to note content You must log in to vote on the helpfulness of this noteVote results for this note: 1You must log in to vote on the helpfulness of this note Contributed by crstauf

    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

  2. Rewrite Endpoint API Tutorial: https://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文