【问题标题】:How to create a new rest url prefix in Wordpress REST API?如何在 Wordpress REST API 中创建新的 rest url 前缀?
【发布时间】:2020-01-27 13:32:27
【问题描述】:

我想在我的网站中使用 两个 url 前缀 来访问两个不同的 api 基本路径,特别是:

我需要保留wp-json url 前缀 我需要创建一个名为api 的新前缀,这样我就可以在那里创建新的路由和端点。 我找到了这个方法

add_filter( 'rest_url_prefix', 'rest_url_prefix' );

function rest_url_prefix( ) {
  return 'api';
}

但它也隐藏了wp-json,而我需要创建一个新的 url 前缀,与它不同但同时工作。 我怎样才能实现它? 谢谢

【问题讨论】:

  • 你添加的过滤器会粉碎 wp-json
  • 事实上!我不想粉碎它,我想为 api 创建另一个基础

标签: php wordpress wordpress-rest-api


【解决方案1】:

根据您的描述,我相信您想开发两种不同的 API。您可以在不更改前缀的情况下执行此操作。实际上,此过滤器通过您的自定义前缀更改 wp-json,该前缀是 API 端点的基本 URL。

您可以为两个不同的 API 创建两个不同的端点,而不是更改前缀。

  1. 如果您有一个创建帖子的 API,您可以使用

add_action( 'rest_api_init', function () { register_rest_route( 'yourprefix1/v1', '/create/', array( 'methods' => 'GET', // You can use 'POST' as well 'callback' => 'create_post', )); });

这个网址是http://example.com/wp-json/yourprefix1/v1/create/

  1. 另一个创建用户的 API 可能有类似的端点

    add_action( 'rest_api_init', function () { register_rest_route( 'yourprefix2/v1', '/create/user/', array( 'methods' => 'GET', // You can use 'POST' as well 'callback' => 'create_user', )); });

这个网址是http://example.com/wp-json/yourprefix2/v1/create/user/

希望对您有所帮助!

【讨论】:

  • 我认为他希望保留 wp-json 作为前缀并创建另一个名为 api 的名称,以便您可以同时通过 /wp-json 和 /api 访问 api url。
  • 他可以!但他必须使用 API WP 方式来避免任何问题。为了简单地区分 API,他可以在 URL 中添加一个期望名称,而不是更改基本 URL。
  • 我知道这是为了避免问题,我理解,但我需要调用两个不同的 API,一个是普通的 mydomain.com/wp-json,另一个是 mydomain.com/ api
  • 在这种情况下没有什么可避免的。这只是您想要更改强制性内容的事情。你可能会有不同的想法。您能否详细说明为什么要为一个域提供两个不同的基本路径?社区可能有不同的方法来解决您的问题。
  • 其实我需要保持 wp-json 不变并且公开,但是我不想暴露一些路由,所以我的想法是离开 wp-json 并创建一个新的基础。这样 wp-json 仍然是公开的,但它不会在“/”中显示我的私有路由
猜你喜欢
  • 2021-01-30
  • 2015-04-25
  • 1970-01-01
  • 2018-01-08
  • 2021-02-04
  • 2021-02-02
  • 2018-12-19
  • 2020-12-14
  • 1970-01-01
相关资源
最近更新 更多