标签: wordpress-rest-api

WooCommerce - woocommerce_rest_cannot_view - 状态401

我已经生成了一个消费者密钥和消费者秘密.该网站已安装SSL.我还安装了JSON和REST服务所需的插件.这是网址的样子:

https://<url>/wp-json/wc/v1/products
Run Code Online (Sandbox Code Playgroud)

当我试图通过使用Instagram插件(Chrome插件)使用Basic Auth获取(获取)产品详细信息时,我得到一个JSON响应,如:

{
  "code": "woocommerce_rest_cannot_view",
  "message": "Sorry, you cannot list resources.",
  "data": {
    "status": 401
  }
}
Run Code Online (Sandbox Code Playgroud)

我同时拥有与Consumer键对应的READ和WRITE权限.

wordpress woocommerce wordpress-rest-api woocommerce-rest-api

7
推荐指数
4
解决办法
1万
查看次数

通过API和ruby创建优惠券会返回错误:woocommerce_api_missing_coupon_data

我正在尝试使用此页面文档中的示例代码通过Rails 4应用程序中的其余api创建优惠券:https : //woocommerce.github.io/woocommerce-rest-api-docs/?ruby#create-优惠券

这是我正在使用的代码:

 data = {
      code: "10off",
      discount_type: "percent",
      amount: "10",
      individual_use: true,
      exclude_sale_items: true,
      minimum_amount: "100.00"
    }
woocommerce.post("coupons", data).parsed_response
Run Code Online (Sandbox Code Playgroud)

我希望它从API返回成功的响应,而不是 {"errors"=>[{"code"=>"woocommerce_api_missing_coupon_data", "message"=>"No coupon data specified to create coupon"}]}

ruby woocommerce ruby-on-rails-4 wordpress-rest-api woocommerce-rest-api

7
推荐指数
1
解决办法
127
查看次数

woocommerce 通过rest api验证用户名和密码

我正在为在 wp-woocommerce 中构建的电子商务网站开发 android 应用程序。我真的不太了解wp。我阅读了http://woothemes.github.io/woocommerce-rest-api-docs/并开发了几乎所有的 android 应用程序。但我无法找到一种方法来通过 rest api 验证客户的用户名和密码。我只想传递用户名和密码,并期望结果为通过或失败。

在此先感谢您的帮助。

wordpress login woocommerce wordpress-rest-api

6
推荐指数
1
解决办法
759
查看次数

为 WordPress REST API 创建自定义端点未注册

我遵循了几个示例,但似乎无法注册自定义端点。我正在创建一个自定义插件并想注册一个自定义端点。这是我的代码:

add_action( 'init', 'setup_init' );


function setup_init() {

   add_action( 'rest_api_init', 'wpc_register_wp_api_endpoints' );

   function wpc_register_wp_api_endpoints() {

    register_rest_route( 'setup', '/client/menu', array(
        'methods' => 'GET',
        'callback' => 'menu_setup',
    ));
}

   function menu_setup($request_data){
       return 'hello world';
   }
}
Run Code Online (Sandbox Code Playgroud)

我访问 mysite.com/setup/client/menu 时出现页面未找到错误。然后我检查 mysite.com/wp-json/wp/v2/,但我没有看到我的路线/终点已注册。我的插件已启用。难道我做错了什么?

wordpress wordpress-rest-api

6
推荐指数
1
解决办法
1848
查看次数

Wp Rest Api请求返回html而不是json格式

我正在研究 Wp Rest API。我想从 WordPress 网站检索帖子,结果显示在另一个 PHP 网站中。我创建了一个休息网址“ http://sitename.com/wp-json/wp/v2/posts ”这样来获取帖子。此请求以 html 格式显示数据,但不以 JSON 格式显示数据。我在 PostMan 应用程序中测试了两个不同的 URL。如何从 WordPress 站点将 API 响应转换为 JSON 格式而不是 html。

这是我的 URL 数据

在此输入图像描述

这是第三方 URL 数据

在此输入图像描述

wordpress wordpress-rest-api

6
推荐指数
1
解决办法
3993
查看次数

WordPress Rest API 获取所有帖子

我正在使用以下内容来获取帖子

http://demo.wp-api.org/wp-json/wp/v2/posts

默认情况下,这给了我 10 个帖子,这是在文档中提到的。

但我想要所有帖子而不必跟踪分页。

那可能吗?

如果没有,有没有办法运行 JavaScript 循环来获取所有帖子?

谢谢。

wordpress wordpress-rest-api

6
推荐指数
1
解决办法
6177
查看次数

在 WordPress REST API 中按菜单顺序排序?

我正在尝试使用 REST API 显示帖子,并且我想根据它们在管理菜单中的位置按菜单顺序显示它们。

我安装了一个插件,允许我将帖子移动到管理员中的任何位置。我知道使用 WordPress 以正常方式查询帖子有一个 orderby: menu_order 选项,它可以完成我正在寻找的操作,但我无法使用 REST API 弄清楚它。

我的 REST API 如下所示:

https://example.com/wp-json/wp/v2/qd_leadership?_embed&per_page=100&orderby=menu_order
Run Code Online (Sandbox Code Playgroud)

所以我已经尝试过了,但这不起作用。它说 menu_order 不是一个选项。我还在这里看到了一个帖子:

按 WordPress (REST) 帖子在管理员中出现的顺序查询它们

那有一个类似的问题。该帖子的唯一答案是没有任何 orderby 参数,并且应该按菜单顺序显示它们,但这对我不起作用。所以我很困惑如何按菜单顺序从 REST API 中订购帖子?

sorting wordpress wordpress-rest-api

6
推荐指数
1
解决办法
4823
查看次数

如何在子文件夹中为 WordPress REST API 配置 nginx?

我正在尝试在我们的域下的子文件夹中设置多个 WordPress 站点(即不是多站点),但我在配置 REST API 端点时遇到困难。例如,这个端点工作正常:

https://example.com/site1/?rest_route=/wp/v2/posts
Run Code Online (Sandbox Code Playgroud)

但是这个端点给出了 404:

https://example.com/site1/wp-json/wp/v2/posts
Run Code Online (Sandbox Code Playgroud)

我尝试在 nginx 配置中使用以下规则将失败的 url 重写为工作 url:

location /site1/wp-json {
    rewrite ^/site1/wp-json(.*)$ /site1/?rest_route=$1;
}

location /site1/ {
   try_files $uri $uri/ /site1/index.php$is_args$args;
}
Run Code Online (Sandbox Code Playgroud)

我在WordPress 文档nginx wiki中看不到对 wp-json 的任何特殊处理。我在这里缺少什么?该网站的永久链接设置为Numeric( https://example.com/site1/archives/123如果这可能起作用,

更新

编辑后的完整配置文件的要点和配置语法 lints 正常:

nginx -c /etc/nginx/nginx.conf -t
Run Code Online (Sandbox Code Playgroud)

nginx:配置文件/etc/nginx/nginx.conf语法正确
nginx:配置文件/etc/nginx/nginx.conf测试成功

wordpress wordpress-rest-api nginx-config

6
推荐指数
2
解决办法
4215
查看次数

在哪里注册到 WordPress 插件端点的 REST 路由

注册功能必须去哪里?( register_rest_route())

  • 它必须在 theme/child function.php 中吗?
  • 或者可以在插件基础 php 文件中吗?(例如\wp-content\plugins\example\example.php)

有任何文件可以澄清这一点吗?

官方文档中没有提到: https://developer.wordpress.org/rest-api/extending-the-rest-api/routes-and-endpoints/

同样,端点函数必须存储在哪里?注册函数只是命名它,而不指定它的路径。

例如,你可以这样做:

  • 注册函数调用 ( register_rest_route) 位于主插件文件中(例如 \wp-content\plugins\example\example.php)
  • 端点函数位于其他一些插件文件中(例如 \wp-content\plugins\example\sub-path-stuff\example-controller.php)

如果是这样,怎么办?

以下链接似乎尝试执行此操作,但未指定这些属性(例如 \wp-content\plugins\example\example.php)

php wordpress routes wordpress-rest-api wordpress-plugin-creation

6
推荐指数
1
解决办法
2万
查看次数

如何注册_meta类型的数组并将其正确添加到Wordpress REST API?

我有一个问题register_meta()

我正在尝试为我的自定义帖子类型创建数组元并将其添加到 REST API,但什么也没有,这是我的代码:

function thefuturmeta_register_portfolio_meta() {
    register_meta( 'post', '_thefuturmeta_port_add_gallery', array(
        'object_subtype' => '_themename_portfolio',
        'show_in_rest' => true,
        'type' => 'array',
        'single' => true,
        'sanitize_callback' => '',
        'auth_callback' => function() {
            return current_user_can( 'edit_posts' );
        }
    ) );
}

add_action('init', 'thefuturmeta_register_portfolio_meta');
Run Code Online (Sandbox Code Playgroud)

我在 REST API 中看不到这个元数据。如果我将元类型更改为字符串或布尔值或数字,它将显示。

我究竟做错了什么?

提前致谢。

wordpress wordpress-theming wordpress-rest-api

6
推荐指数
1
解决办法
3171
查看次数