为开发人员定制 WordPress:开发定制 REST API 端点

WordPress 是世界上最受欢迎的内容管理系统 (CMS) 之一,但 WordPress 已经发展到不再仅仅支持传统的博客内容——这很大程度上要归功于 WordPress REST API。这个神奇的API就像一座桥梁,连接着WordPress和其他外部Web应用。有了它,WordPress就能和其他应用更好地“聊天”,一起打造出超赞的Web体验。

这个API是怎么工作的呢?它利用了一些叫做“端点”的东西。通过这些端点,我们可以轻松地从WordPress里获取或修改内容,而且都是以JSON这种大家都懂的语言形式。你不需要登录WordPress后台就能做到这些。使用WordPress就变得更加灵活,功能也变得更加强大。

为开发人员定制 WordPress:开发定制 REST API 端点

了解 WordPress REST API

WordPress REST API 是一个功能强大的接口,允许使用标准HTTP 方法以编程方式与 WordPress 网站进行交互。其默认功能包括以结构化 JSON 格式访问和操作各种类型的 WordPress 数据,例如帖子、页面、评论、用户和分类法。还可以远程对内容执行 CRUD 操作。

然而,WordPress REST API 的真正价值在于其通过自定义端点的可扩展性。可以创建自定义端点来根据特定需求定制 API,例如集成附加功能、第三方服务或独特的数据结构。这种灵活性能够在 WordPress 之上构建高度定制且功能丰富的应用程序。

如何规划你的自定义 API 端点

规划自定义端点的结构和用途是高效 API 开发的关键。根据特定需求定制的自定义端点需要仔细考虑,以确保最佳功能。战略规划促进可扩展性和适应性,以及面向未来的端点,以适应不断变化的业务需求。

为开发人员定制 WordPress:开发定制 REST API 端点

在实施之前规划你的自定义 API 端点支持:

  • 端点功能的明确性:规划端点可明确端点的特定功能、其预期数据类型和用法。
  • 一致性和开发效率:规划还确保使用端点、响应类型和格式的一致性,从而改善与 API 的交互。此外,了解 API 的用途可以正确实施,从而减少开发时间和错误风险。
  • 可扩展性和适应性 :定义端点的需求有助于使其面向未来,以适应不断变化的业务需求和要求,而无需完全重新设计。
  • 安全性:正确的端点规划有助于确定访问或操作数据的身份验证需求。通过 API 获取内容有时不需要用户身份验证。尽管如此,对于包含敏感或未经授权的数据的内容,必须定义安全要求并实施授权和访问控制等措施,以帮助确保数据安全。

接下来的实践部分解释如何创建自定义端点,该端点可用于site-domain/wp-json/custom/v2/testimonials从 WordPress 数据库站点检索客户评价。

发送请求后,端点会返回一个 JSON 对象,其中包含回调函数中定义的有关 WordPress 网站上的评价的信息。

为你的端点创建自定义帖子类型

先创建自定义帖子类型:

1. 从WordPress 管理仪表板 的外观部分导航到主题文件编辑器 。

2.打开主题的function.php 文件并添加以下代码:

    function create_custom_testimonial_type() {
        register_post_type('testimonials', array(
            'labels' => array(
                'name' => 'Testimonials',
                'singular_name' => 'Testimonial',
            ),
            'public' => true,
            'has_archive' => true,
            'show_in_rest' => true, // This enables REST API support
        ));
    }
    add_action('init', 'create_custom_testimonial_type');

    此代码创建自定义“推荐”帖子类型 并启用 WordPress REST API 支持 ( 'show_in_rest' => true)。调用回调add_action hook 函数create_testimonial_type 并在执行期间启动它。可以通过删除或添加标签和参数来自定义标签和参数以满足你的需求。

    3.单击更新文件 以保存更改。

    为开发人员定制 WordPress:开发定制 REST API 端点

      刷新仪表盘即可查看已添加到 WordPress 仪表板的推荐选项。

      为开发人员定制 WordPress:开发定制 REST API 端点

      4.单击推荐 > 添加新帖子 创建包含推荐的新帖子。你可以使用Pullquote 区块。根据你展示推荐的方式,还可以使用其他区块。

        下面是使用 Pullquote 区块创建的两个样本推荐:

        为开发人员定制 WordPress:开发定制 REST API 端点

        在 WordPress 中注册自定义端点

        注册自定义端点使其可通过 REST API 使用。这涉及到使用该register_rest_route 函数,在rest_api_init 钩子上调用它,并提供一个在调用路由时将调用的回调方法。

        将以下代码粘贴到主题的function.php 文件中:

        add_action( 'rest_api_init', 'register_testimonial_rest_route' );
         
        function register_testimonial_rest_route(){
        	register_rest_route(
        		'custom/v2',
        		'/testimonials',
        		array(
        			'methods' => 'GET',
        			'callback' => 'get_testimonials',
        		)
        	);
        }

        register_rest_route() 需要三个参数:

        • 路由命名空间$route_namespace) :这是 URL 段的第一部分,应遵循供应商/版本号模式。供应商代表供应商或主题 slug。命名空间有助于区分端点并帮助客户联系您的自定义端点的支持。本教程使用custom/v2 命名空间。
        • 基本 URL ( $route) :这位于命名空间之后,是映射到方法的 URL。可以为你的路线注册多个端点。在本文中,使用/testimonials 告诉端点检索推荐的路由。
        • 端点的选项 ( $args) :这里是一个数组,其中包含调用路由时使用的 HTTP 方法以及发送请求时端点将调用的回调函数。我们将在下一节中讨论这个回调函数。

        最后,记下端点地址。端点的格式为site-address/wp-json/namespace/route.因此,在此示例中,端点将为https://www.staging.kidspartysanctuary.co.uk/wp-json/custom/v2/testimonials

        实现端点的回调函数

        创建自定义帖子类型并注册自定义端点后,下一步是编写回调函数。每次访问端点时都会调用此回调函数。

        1、get_testimonials 使用以下代码 声明您的回调函数:

        function get_testimonials(){
        
        }

        2、初始化一个空的推荐数组来存储检索到的 WordPress 推荐数据:

        $testimonials = array();

        3、设置一个$args 以查询参数命名的数组以进行WP_Query 调用。

        $args = array(
            'post_type' => 'testimonials', //specifies you want to query the custom post type   
        'testimonial',
            'nopaging' => true,  // no pagination, but retrieve all testimonials at once
        ),

        4、创建该类的实例WP_Query ,该实例接受数组$args ,根据指定的参数执行查询并将 WordPress 查询的结果存储在$query 变量中。

        $query = new WP_Query($args)

        5、编写条件语句以检查是否有任何推荐帖子。然后,创建一个while 循环来迭代帖子并返回推荐帖子的titlecontent

        if ( $query->have_posts() ) {
                while ( $query->have_posts() ) {
                    $query->the_post();
                    $testimonial_data = array( /*an array that stores the title 
        and content of every post*/
                    'title' => get_the_title(),
                        'content' => get_the_content(),
                        // Add other fields as needed
                    );
                    $testimonials[] = $testimonial_data; 
                }
                wp_reset_postdata(); /* restores $post 
        global to the current post to avoid any conflicts in subsequent queries*/
            }
            return rest_ensure_response( $testimonials ); /*ensures response is 
        correctly set as a response object for consistency*/

        6、使用Postman测试你的端点 以验证是否可以访问你的数据。

        为开发人员定制 WordPress:开发定制 REST API 端点

        还可以使用浏览器进行测试。通过site-domain/wp-json/custom/v2/testimonials 在浏览器地址栏中输入 URL 来访问端点。

        为开发人员定制 WordPress:开发定制 REST API 端点

        要让用户能够轻松地访问和与你的WordPress数据库数据进行交互吗?只需要做一件事:注册一个带有回调函数的路由。这个回调函数就像是数据小助手,当用户想要获取或操作数据时,它就会帮忙处理。这样,WordPress API 自定义端点就能顺利实现啦!


        联系我们
        文章看不懂?联系我们为您免费解答!免费助力个人,小企站点!
        电话:020-2206-9892
        QQ咨询:1025174874
        邮件:info@361sale.com
        工作时间:周一至周五,9:30-18:30,节假日休息
        发布者:光子波动,转转请注明出处:https://www.361sale.com/8374/

        (0)
        上一篇 2024年 4月 19日 上午10:34
        下一篇 2024年 4月 19日 下午3:02

        相关推荐

        • 探索WordPress:可搭建的网站类型全解析

          很多初学者好奇用WordPress能创建哪些类型的网站。简单来说,答案是“几乎什么网站都行”。我会给你看看用WordPress能搭建的各种网站类型的例子。 WordPress入门 WordPress是支持互联网上超过43%网站的超级流行的网站构建工具,成为市场上最受欢迎的选择。 讲到WordPress,有两个版本要分清楚。一个是WordPress.com,这…

          2024年 3月 30日 WordPress
          0046
        • 如何更改 WordPress 管理员密码

          为什么需要重置 WordPress 密码 出于安全考虑,更改密码这是必须定期进行的操作,尤其是当你在多个平台上使用相同的密码时。定期更新密码能有效降低安全风险。除了这些安全考虑之外,还有其他几个可能需要你更改WordPress密码的原因: 如何重置丢失的 WordPress 密码(3 种方法) 1. 如何通过登录屏幕重置 WordPress 密码 2. 通过…

          2024年 4月 14日 WordPress
          0028
        • WordPress.com 到 WordPress.org: 网站迁移方法和技巧

          想要让网站更自由、更强大?从WordPress.com迁移到WordPress.org是关键一步!想要给网站更多控制权、更多自定义选项和更丰富的功能吗?那就试试从WordPress.com迁移到WordPress.org吧!我们为你详细解读整个迁移过程,告诉你需要安装哪些基本插件,分享实用的技巧和建议,帮助你更顺畅地完成过渡。我们还会介绍迁移后的好处,以及提…

          2024年 4月 9日 WordPress
          0046
        • 探索 WooCommerce 8.6 和 8.6.1:全新产品详情与集合区块提升购物体验

          最新 WooCommerce 8.6 版本终于发布啦!这次更新稍有延迟,原因是WooCommerce官方发现了一些订单追踪方面的问题,但别担心,WooCommerce官方已经在这个版本里修复了它们。新特性包括全新的产品详情显示方式和六种独特的产品集合布局,还有一个全新的销售列,专门用来帮助你更好地进行营销分析。 对于开发者朋友们,这次更新还带来了一些好消息:…

          2024年 3月 21日
          0065
        • 如何导出和导入 WordPress 主题:备份、迁移和共享的全面指南

          为什么导出 WordPress 主题? 以下是导出 WordPress 主题的几个常见原因: 方法 1.使用插件导出 WordPress 主题 使用 WordPress 插件(例如 UpdraftPlus)导出你的网站主题。该插件将 WordPress 主题导出为.zip文件。 步骤如下: 下载并激活插件。 激活后,导航到WordPress侧边栏,…

          2024年 4月 10日 WordPress
          0026

        发表回复

        您的电子邮箱地址不会被公开。 必填项已用 * 标注

        联系我们

        020-2206-9892

        QQ咨询:1025174874

        邮件:info@361sale.com

        工作时间:周一至周五,9:30-18:30,节假日休息

        客服微信
        亲爱的用户们:随着五一劳动节的临近。根据国家规定和我司实际情况,现将2024年五一劳动节放假安排通知如下:放假时间:2024年5月1日(星期三)至2024年5月5日(星期日),共计5天。2024年5月6日(星期一)正常上班。放假期间不处理工单业务。祝大家假期愉快,安全健康!