POST 用于向服务器发送数据,以便服务器以某种方式处理。例如联系表单。当您输入数据到表单字段并点击提交按钮时,浏览器会获取这些数据并向服务器发送一个 POST 请求,其中包含您在表单中输入的文本。随后,服务器将处理该联系请求。

向 API 发送 POST 数据

所有 HTTP 方法请求都提供相同的辅助方法(wp_remote_retrieve_body() 等),并以相同的方式使用。

发送 POST 数据是使用 wp_remote_post() 函数完成的,其参数与 wp_remote_get() 完全相同。

要向服务器发送数据,您需要构建一个关联数组。此数据将被分配给 'body' 值。从服务器端来看,该值将按预期出现在 $_POST 变量中。即,如果 body => array( 'myvar' => 5 ),那么在服务器上 $_POST['myvar'] = 5。

由于 GitHub 不允许对前一个示例中使用的 API 进行 POST 操作,因此本示例将假装允许。通常,如果您想向 API 发送 POST 数据,您需要联系 API 的维护者并获取 API 密钥或其他形式的身份验证令牌。这仅仅证明您的应用程序被允许像用户登录网站那样操作 API 上的数据。

假设我们提交一个包含以下字段的联系表单:姓名、电子邮件、主题、评论。要设置 body,请执行以下操作:

$body = array(
	'name'    => sanitize_text_field( 'Jane Smith' ),
	'email'   => sanitize_email( 'some@email.com' ),
	'subject' => sanitize_text_field( 'Checkout this API stuff' ),
	'comment' => sanitize_textarea_field( 'I just read a great tutorial. You gotta check it out!' ),
);

现在我们将 body 添加到 $args 数组中,该数组将作为第二个参数传递。(第二个参数接受许多选项,有关更多详细信息,请参阅高级部分)

$args = array(
	'body'        => $body,
);


然后当然调用该函数

$response = wp_remote_post( 'https://your-contact-form.com', $args );