如何使用诸如Cursor的AI工具开发WordPress插件

如何使用诸如Cursor的AI工具开发WordPress插件

鉴于人工智能在当今世界如此重要,我们认为探索开发者如何使用这些工具来创建或改进 WordPress 插件将会非常有趣。本文还将逐步指导您使用热门的人工智能编程助手 Cursor 构建 WordPress 插件。

虽然人工智能可以成为可靠的助手,但它并不能完全取代人类的专业知识。熟练的开发者仍然需要审查输出、捕获错误、优化性能,并确保代码的安全性和可扩展性。

话虽如此,我们显然正处于自然语言编程时代。您可能无法仅凭一个命令就能启动整个 CMS,也不要指望获得功能齐全的页面构建器,但人工智能可以帮助加快流程的许多部分。即使是低代码爱好者也可以从中受益,而高级开发者正在寻找更智能、更快捷的构建方法。

AI编程工具概览

无论使用在线还是桌面工具,大多数 AI 代码生成器都具有以下共同点:

  • 它们采集了海量数据,并在代码库中接受过训练。
  • 它们提供自动补全和智能代码建议,从而节省时间。
  • 它们精通多种编程语言。
  • 它们具有上下文感知能力,这意味着它们能够理解代码库的结构。
  • 它们能够解读自然语言提示,即使是细微的拼写错误也能理解。
  • 有些工具支持在不同的大型语言模型 (LLM) 之间切换。
  • 大多数工具都支持插件系统或扩展。
  • 许多工具都包含调试和重构工具。

那么,当今 AI 编程领域的关键参与者是谁?

  1. ChatGPT目前 AI 领域最知名的名字。ChatGPT 无需任何设置,可以生成代码、解释其功能并回答后续问题——所有这些都在一个地方完成。
  2. GitHub Copilot由 GitHub 和 OpenAI 共同开发,Copilot 可直接集成到您常用的 IDE 中,并在您输入代码时实时提供代码建议。这就像与 AI 开发者结对编程一样。
  3. Grok与 ChatGPT 和 Claude 类似,Grok 是 xAI 为 X 用户提供的工具,以其严谨的态度而闻名。
  4. Gemini这是 Google 的全能 AI 工具系列,与 ChatGPT 类似。
  5. Windsurf这是一款专注于预测开发者需求的 IDE。
  6. Cursor当下非常火热的 AI 编程工具,我们后面会重点介绍这一个。

关于使用 Cursor AI 的几点说明

为了构建我们的插件,我们选择使用 Cursor AI,它越来越受到开发者的青睐。Cursor AI 是 VSCode IDE 的一个分支,因此它的外观和使用体验都很熟悉。Cursor AI 非常灵活,您可以将 VSCode 的设置和偏好设置导入到 Cursor AI。

作为一款功能齐全的开源 IDE,它提供许多扩展程序,并且有多种访问代码文档的方式。

注:免费版本对于轻度开发者足够用。但如果用它来开发项目,根据实际情况,建议升级为付费套餐。

Cursor 的聊天功能有多种模式,每种模式都针对不同类型的任务进行了优化。

Cursor 聊天模式

Cursor 聊天模式

您可以使用模式选择器 ( Cmd+. ) 或键盘快捷键在它们之间切换:

  • 提问模式:最适合快速提问、解释或规划功能。例如,您可以输入“此代码库使用什么编程语言?”,并根据您打开的文件获取上下文答案。使用 Cmd+L (Mac) 或 Ctrl+L (Windows/Linux) 访问。
  • 代理模式:当您希望 Cursor 推理整个代码库并进行更广泛的更改(例如生成文件、实现新功能或重构)时,这是理想之选。您可以输入类似“Create a documentation file based on what’s in  /plugins/contentwriter”的内容。使用 Cmd+ICtrl+I 触发此模式。
  • 手动模式:当您想要更多控制并且只需要 AI 在特定文件或代码片段中工作时使用此模式。例如,您可以要求它“Refactor theme.json using components found in ../docs.”。当您直接开始编辑或通过命令面板进行编辑时,此模式会自动激活。

插件启动工作流程

如果您只使用 ChatGPT 编写代码,那么您可能错过了 AI 代码助手的强大功能。诚然,通用的 AI 工具可以启动有效的 WordPress 插件,但这肯定不是测试或调试代码的最有效方法。

Cursor AI 等工具正是为此而生——它们将 AI 与功能齐全的 IDE 相结合,引导您完成更结构化、以开发者为中心的工作流程。

开始使用 AI 编码助手的一个好方法是使用您熟悉的内容来提示它们。选择一个规模较小、范围明确的项目。不要立即着手开发复杂的功能或大规模的插件。也绝对不要指望 AI 能根据一个模糊的提示构建出您的整个插件。就像处理任何开发任务一样,首先用通俗易懂的语言写下您的目标。

在本演示中,我们将创建一个名为 Custom Writer 的插件,用于在 WordPress 中注册一个新的用户角色。该角色可以创建和编辑文章,但不能删除任何内容或访问其他文章类型

步骤 1:打开插件目录

启动 Cursor,然后通过 File > Open Folder 导航到您的 /wp-content/plugins 目录。这将为您的插件构建做好准备。

步骤 2:开始新的聊天会话

Cmd + Shift + L (Windows 系统上按 Ctrl + Shift + L )开始新的聊天。

Cmd + L / Ctrl + L 切换到“提问模式”,这样我们就可以从一个计划提示开始。在此模式下,Cursor 会帮助您推理您的想法,而无需直接跳到代码。

在主提示输入上方,您会看到一个标有“Add Context”的字段。您可以在此处完整描述您的目标。即使您的拼写不完美,也要具体说明——Cursor 不会容忍拼写错误。

我们输入的内容如下:

我正在构建一个 WordPress 插件,用于添加一个名为“Custom Writer”的新用户角色。请仅授予此角色创建新帖子和编辑帖子的权限,但不能删除任何帖子。此用户不具备编辑其他帖子类型的其他权限。

请用 Markdown 编写一套详细的说明,供 AI 代理在构建插件时使用。

请勿包含任何依赖项。将所有代码保存在一个 php 文件中,该文件将位于唯一命名的插件文件夹 /plugins 中。

使用 @WordPress 开发文档来帮助您构建符合 WordPress 标准的插件。

现在无需编写任何代码。只需创建一个包含构建说明的 Markdown 文件即可。

请记下 @WordPress 关键字 – 它会告诉 Cursor 参考 WordPress 官方文档。这是确保您的插件遵循最佳实践的最简单方法之一。

Cursor 提问模式

使用 Cursor 提问模式。

步骤 3:查看Markdown说明

按下“Send”后,Cursor 会回复一份详细的 Markdown 文档。文档概述了插件应执行的所有操作——从设置钩子到卸载时的清理。

以下是 Cursor 包含的内容:

  • 插件标头详细信息(名称、版本、许可证)
  • 代码结构(自定义插件文件夹中的单个 .php 文件)
  • 使用 add_role() 创建角色
  • 特定功能(edit_postspublish_posts 等)
    用于激活、停用和卸载的钩子
    安全、性能和测试建议

您可以在继续操作之前调整说明,但我们对目前的版本感到满意。

步骤 4:切换到代理模式并构建插件

现在是时候实际生成代码了。

Cmd + Shift + I (或 Ctrl + Shift + I)切换到代理模式。这将授予 Cursor 权限,使其能够跨代码库工作并执行多步骤任务。

Enter 键,您会看到“Run Command”按钮出现。

Cursor 运行命令

Cursor 运行命令。

点击“Run Command”,Cursor 就会创建你的插件。你应该会看到一个新文件夹(例如, custom-writer-role),里面有一个 .php 文件。

Cursor 生成的文件夹和代码文件

Cursor 生成的文件夹和代码文件。

步骤 5:审核并接受文件

打开 Cursor 生成的文件。您可以在此处进行编辑,例如更新插件作者或优化内联注释。

满意后,点击“Accept File”。不用担心,您可以随时进行编辑。这只是确认该文件应该成为您代码库的一部分。

步骤 6:在WordPress中激活插件

前往您的 WordPress 管理后台。在“插件”下,找到您的新插件并激活它。

由 Cursor 创建的 WordPress 插件

激活由 Cursor 创建的 WordPress 插件。

如果一切生成正确,您将看到一条成功消息,插件将正式上线。

步骤 7:测试新角色

创建新用户并为其分配“Custom Writer”角色。测试结果应显示:

  • 新用户角色已成功创建
  • 仅可创建文章。
  • 文章可编辑和查看,但不可删除。

步骤 8:发现并修复UI问题

您会注意到,“Quick Edit”链接仍然在文章列表中。虽然它不允许删除,但我们并未要求删除,这可能会让用户感到困惑。

插件调试

插件调试。

返回 Cursor,并启动新的提示,请求帮助移除“Quick Edit”。

在创建本指南的演示时,我们发出了一系列提示,要求 Cursor 采用不同的方法来移除“Quick Edit”。有一次,我们看到了对“user_switch”的引用,这让我们怀疑它是否与“Switch User Role”插件存在冲突。(除了我们的插件之外,这是我们唯一运行的插件。)

在我们提醒 Cursor 这个潜在问题后,它提示会发生冲突。随后又发出了一轮提示。在此期间,我们发现新用户无法登录,因为需要更高的权限级别。

又一轮提示开始,但没有任何效果。每隔一段时间,Cursor 就会移除“Quick Edit”,但编辑功能也会被移除。我们感到很困惑,于是要求 Cursor 总结一下我们目前的情况,以确保我们理解它所理解的内容。有一次,我们不禁自问:“您到底在想什么?”

最终,Cursor 找到了解决所有问题的方法,并向我们提供了所做更改的摘要。

我已将方法更改为:

  1. 移除基于功能的方法,改用 WordPress 的 post_row_actionspage_row_actions 过滤器。
  2. 添加一个新方法 remove_quick_edit_link,通过取消设置内联 hide-if-no-js 操作来专门移除“快速编辑”链接。
  3. 保留编辑文章所需的所有功能。

此方法应:

  • – 保持“编辑”链接可见
  • – 仅移除“快速编辑”链接
  • – 适用于文章和页面 – 不影响任何其他功能。

您需要:

  • – 停用插件
  • – 重新激活插件以应用这些更改。

如果此方法成功移除“快速编辑”链接,同时保持“编辑”链接可见,请告知我。

步骤 9:观察其他行为

测试过程中,我们还注意到:

  • 媒体库无法访问,尽管我们并未提及。提醒一下:如果您没有明确请求某项功能,AI 可能不会启用。
  • Cursor 的摘要中提到该功能“适用于文章和页面”,但该插件正确地阻止了对页面的访问。因此,AI 的解释略显过度,但行为是正确的。

步骤 10:持续测试和迭代

从这里开始,您可以安装其他插件,测试兼容性,并根据需要优化您的角色。当出现问题或行为不符合预期时,请返回 Cursor 并进行后续提示。

您会发现自己经常这样做——提出后续问题、重新表述说明,甚至只是问“您觉得怎么样?”来了解 Cursor 的观点。

这就是 Cursor 真正出彩的地方:循环反馈快速,并且助手在每次迭代中都在不断改进。

不要像盲头乌蝇

你可以让人工智能生成插件,但这并不意味着你应该这么做——至少,在没有仔细考虑的情况下不应该这么做。

在提出建议之前,请花点时间定义你的插件应该做什么。考虑它的用途、所需的功能以及任何潜在的依赖关系。问问自己:这个插件会与 WooCommerce 等主流扩展程序冲突吗?如果答案是“可能”,请在你的建议中包含这一点。

你给人工智能提供的背景信息越多,你的结果就越好。要具体。清晰地描述你的目标。不要犹豫。

人工智能可能感觉很神奇,但负责任地构建仍然很重要。请记住手工编码时需要考虑的相同要点:

  • 安全性—— 净化输入、检查功能、遵循最佳实践
  • 性能—— 避免冗余查询、保持逻辑严密
  • 可访问性—— 考虑用户角色、UI 元素和包容性交互
  • 测试—— 尝试极端情况、混合使用插件并验证功能
  • 部署—— 为版本控制、回滚和可扩展性做好准备
  • 重构—— 定期重新审视您的代码,不仅要一次,还要定期

小结

辅助生成代码的格局每分钟都在变化。这让人想起搜索的早期,当时有大量的条目。最终,只有少数条目幸存下来。这最终也可能会发生,尽管开源可能会将我们引向不同的方向。

我们建议您使用相同的初始提示探索多种 AI 工具,然后比较编码过程和结果。随着格局的不断发展,您可能需要更改首选应用程序,对此持开放态度。

随着人工智能工具的发展,您的工作流程也应该随之发展——而这始于正确的环境。

评论留言