返回

从 WordPress 表单中验证输入:使用 API 数据的详细指南

php

从 WordPress 表单验证 API 数据

在当今瞬息万变的数字世界中,用户输入的准确性至关重要。WordPress 作为最受欢迎的内容管理系统 (CMS),为各种网站提供了强大的平台。本文将指导你构建一个 WordPress 插件,允许你从表单中获取输入,并针对 API 数据进行检查。

概述

我们的目标是创建一个插件,能够从 WordPress 表单中获取订单 ID,并使用该 ID 向外部 API 发出请求。如果 API 确认订单 ID 有效,插件将显示订单状态。

步骤

1. 创建 WordPress 插件

  • 使用你喜欢的代码编辑器创建一个新文件,并将其命名为 plugin-name.php
  • 定义一个 wp_loaded 钩子函数,它将在表单提交时运行。

2. 获取表单输入

  • 在钩子函数中,使用 $_POST 变量获取表单中的订单 ID。

3. 创建 API 请求

  • 使用 wp_remote_get() 函数向 API 发送 GET 请求。
  • 将订单 ID 作为请求 URL 的一部分。

4. 解码 API 响应

  • 使用 json_decode() 函数将 API 响应解码为 JSON 对象。

5. 检查订单 ID

  • 检查 JSON 对象是否存在 order_id 属性,并将其与输入的订单 ID 进行比较。

6. 输出结果

  • 如果订单 ID 有效,则从 JSON 对象中提取订单状态并将其输出。
  • 如果订单 ID 无效,则输出错误消息。

完整代码示例

add_action( 'wp_loaded', 'check_order_id' );

function check_order_id() {
    if ( ! isset( $_POST['order_id'] ) ) {
        return;
    }

    $order_id = $_POST['order_id'];

    $response = wp_remote_get( 'https://api.example.com/orders/' . $order_id );

    $json = json_decode( $response['body'] );

    if ( isset( $json->order_id ) && $json->order_id == $order_id ) {
        echo $json->status;
    } else {
        echo 'Invalid order ID.';
    }
}

常见问题解答

  • 如何修改 API 端点?

    • 编辑插件代码中的 wp_remote_get() 函数并替换 API 端点 URL。
  • 如何捕获错误并显示更友好的消息?

    • 使用 wp_remote_get() 函数的 error 参数捕获 API 错误,并显示自定义错误消息。
  • 插件如何处理无效的 API 响应?

    • 插件将输出一个错误消息,指示 API 响应无效。
  • 可以将插件与其他表单插件集成吗?

    • 是的,插件设计为可以与大多数流行的 WordPress 表单插件集成。
  • 我需要修改哪些文件才能部署插件?

    • 只需将 plugin-name.php 文件上传到 WordPress 的 /wp-content/plugins 目录即可。

结论

通过遵循本文中的步骤,你将能够创建一个 WordPress 插件,该插件可以从表单中获取输入,并针对 API 数据进行验证。这可以提高表单的准确性和可靠性,并为用户提供更好的体验。