ChatGPT 是目前最为先进的AI机器人,今天看到了一篇来自 WPMU DEV 的文章,探讨了《ChatGPT 可以构建一个有用的 WordPress 插件吗?》,分享过来(机器翻译的),有兴趣的朋友可以看看。

AI 是目前世界上最流行的两个字母的单词。最近所有关于人工智能是否会抢走我们工作的新闻头条,我们想知道…… ChatGPT是否真的可以开发一个功能强大且有用的 WordPress 插件,而无需从头开始编写代码?该插件是否符合最佳编码实践?

幸运的是,WPMU DEV 构建了一些世界上最强大的 WordPress 插件,因此我们有大量专业的 WordPress 插件开发人员可以对 ChatGPT 进行测试。

事实上,如果您在我们公司的虚拟走廊中漫步,您会情不自禁地碰到 WordPress 编码人员和开发人员。似乎这里的每个人都可以查看 WordPress 插件并查看 PHP,就像 Neo 查看 Matrix 的数字雨代码一样。

各位,那就是……除了我! 

我只是一个没有编码技能的博客作者,并且强烈希望在我的简历中添加“及时的工程师”。

因此,在本文中,我们将探讨如何利用 ChatGPT 的强大功能快速安全地构建简单的自定义 WordPress 插件,即使您缺乏广泛的编码技能。

我们将通过以下方式做到这一点:

1) 要求 ChatGPT 为我们可以测试的有用插件生成代码,以及

2) 运行 ChatGPT 生成的代码,让我们的专业插件开发人员团队通过,以便他们审查代码并提供诚实的反馈。

探索 ChatGPT 对 WordPress 插件开发的强大功能

WordPress 成为世界上最受欢迎的内容管理系统的原因之一是该软件的灵活性和可扩展性,可以创建可以使用插件做任何事情的网站。

虽然有超过 60,000 个免费的 WordPress 插件可用,涵盖了您能想到的各种功能,但有时您可能需要定制解决方案来满足客户的特定要求。

如果您不是 WordPress 插件开发人员,那么直到最近,您唯一的选择是要么成为 WordPress 插件开发人员并学习如何从头开始编写插件代码或修改现有插件的代码,要么聘请 WordPress 开发人员为你。

随着新的 AI 工具和技术的爆炸式增长,我们现在有了第三种选择,虽然不一定承诺会做得更好,但可以帮助您以更低的成本和更快的速度完成工作(请查看我们最近关于 ChatGPT 可以如何帮助您的文章一个 WordPress 开发者)。

ChatGPT 由OpenAI提供支持,是一种高级语言模型,能够根据给定的提示生成类似人类的文本。它还声称能够通过提供代码片段、解释甚至最佳实践建议来帮助您构建自定义 WordPress 插件。

因此,我们想亲自了解是否可以利用 ChatGPT 来加速 WordPress 插件开发过程并确保插件的安全性。

为此,我们将要求 ChatGPT 为我们构建一个简单、有用且功能强大的插件。

定义插件的功能

在使用 ChatGPT 生成代码之前,您需要清楚地了解您希望插件提供的功能。

首先概述您希望通过插件实现的特定功能、操作或修改。这将帮助您为 ChatGPT 生成准确的提示,并确保您的 AI 生成的代码与您期望的结果一致。

使用 ChatGPT 生成代码片段

为了使用 ChatGPT 生成我们的代码片段,我们将保持简单(和免费)并使用 OpenAI 提供的免费接口。

测试#1…

注意:我第一次尝试使用 ChatGPT 从头开始​​创建 WordPress 插件的尝试过于雄心勃勃。我要求 ChatGPT 为我构建一个简单的 WordPress时间旅行 虚拟文本生成插件,使用下面的提示…

ChatGPT - WordPress 插件创建提示。
这个提示肯定会踢 ChatGPT 的 WordPress 插件开发轮胎。

作为一个花费大量时间编写 WordPress 教程的人,我经常需要虚拟内容来测试插件、创建屏幕截图等。

因此,我认为在我经常使用的名为 FakerPress 的插件上为我的 AI 生成的虚拟内容插件建模会很棒 。

ChatGPT 立即拒绝了我的请求,并告诉我创建一个具有我描述的所有功能的全功能 WordPress 插件超出了单一响应的范围。

然而,它确实为我提供了一个基本模板,指导我如何实现我提到的一些功能,甚至还指导我如何创建插件目录和文件…

ChatGPT 响应 WordPress 插件开发提示。
嗯……也许我第一次尝试创建 WordPress 插件有点太雄心勃勃了!

起初,我以为隧道尽头有光。ChatGPT 输出代码在我未经训练的眼睛和不熟练的头脑看来令人印象深刻……

聊天GPT代码
对于了解“zip”编码的人来说,上面的代码片段看起来确实令人印象深刻!

ChatGPT 还会输出完成后续步骤所需的所有附加代码。

ChatGPT - WordPress 插件开发提示。
由于缺乏编码技能,我依靠 ChatGPT 来指导我完成插件开发过程的每一步。

并为我缺乏编码知识和经验而道歉……

ChatGPT-提示
这就是当虚拟人要求 ChatGPT 创建虚拟插件时发生的情况。

它还通过逐步说明指导我,就像它承诺的那样……

ChatGPT 响应的屏幕截图。
我会让 ChatGPT 在这里完成所有繁重的工作……

我无法真正描述我看到 ChatGPT 吐出代码时的感受,但这可能类似于比尔盖茨第一次拿着一组包含 Windows 操作系统工作代码的软盘时的感受。

设置您的测试站点

生成插件代码后,下一步是设置一个虚拟站点来测试插件。

我很快在The Hub中创建了一个新站点。

中心 - 创建一个新站点
让我们使用 The Hub 创建一个新的测试站点。

注意:如果您正在为现有站点开发插件,我们建议设置本地开发环境或暂存站点,以确保插件按预期工作并且不会与站点上的其他现有插件或主题冲突。

我的手指在桌子上敲了几分钟后,我的新 WordPress 网站就准备好了。

新的 WordPress 站点。
一个全新的 WordPress 网站,目前还没有什么可看的。

设置测试站点后,下一步是上传插件并进行测试以确保其正常工作。

测试您的自定义插件

wp-content > plugins我按照 ChatGPT 的说明使用 The Hub 的文件管理器将插件文件夹上传到我的测试站点目录。

The Hub - 文件管理器
我本可以使用插件上传器,但 The Hub 的文件管理器也能正常工作!

上传插件文件后,我在插件屏幕中激活了它。

插件屏幕 - 虚拟内容生成器激活菜单链接。
现在我们都在等待[鼓声]……

而且……我遇到了一个致命错误!

插件屏幕 - 致命错误消息。
多么虎头蛇尾……我的 WordPress 插件开发生涯的最低点!

假设我可能没有添加 ChatGPT 正确提供的额外片段,我返回并要求将所有代码作为单个文件提供,我可以简单地复制和粘贴以覆盖和更新上传的插件文件。

ChatGPT 同意并向我提供了完整的代码。

ChatGPT 提示和响应的屏幕截图。
为什么它不能第一次就给我完整的复制和粘贴代码?

有很多代码要输出,所以每当事情陷入停顿时,我都会指示 ChatGPT 继续这个过程。

ChatGPT 提示和响应的屏幕截图。
ChatGPT 有时只需要一点温和的鼓励就可以继续前进。

这个过程我重复了几次。

ChatGPT 响应的屏幕截图。
感觉就像ChatGPT,我现在就像一对老夫老妻……

最后,输出了整个代码。ChatGPT 甚至在流程结束时提供了一些有用的信息。

ChatGPT 响应的屏幕截图。
等了整整2分钟……ChatGPT终于输出了所有的插件代码!

我将带有新代码的插件文件上传到我的测试站点,然后跳转到该站点的管理区域并激活该插件。

有效!或者看起来是这样。

ChatGPT 甚至为插件提供了自己的菜单项……

虚拟内容生成器 WordPress 插件 - 由 ChatGPT 创建
ChatGPT 造就了这一切!

还有一个设置屏幕,上面有很多花哨的框和字段。

虚拟内容生成器 WordPress 插件设置屏幕。
看起来令人印象深刻……但它会起作用吗?

我的第一印象是“哇……ChatGPT 创建了这个插件,并且对一些插件设置和用户界面布局和设计做出了自己的决定!”

但是……“插件有效吗?”

我看不到可以指定要创建多少帖子或页面的字段,所以我只是勾选了一些框,输入了一些值,然后单击“保存更改”按钮以查看会发生什么。

虚拟内容生成器 WordPress 插件 - 由 ChatGPT 创建
现在,关键时刻……

而且……什么都没发生!

显示单个“Hello world”帖子的 WordPress 帖子表。
我的 WordPress 插件开发生涯的最新最低点……一个什么都不做的插件!

我的花哨插件全都是虚构的,就像那些儿童游乐场的宇宙飞船中的一个,里面装满了你可以转动的无用旋钮和你可以按下的按钮,同时假装在外太空飞行。

因此,我通过 Slack 联系了我们的一位开发人员,请他们查看插件文件。

返回的一些评论包括以下内容:

  • “该插件会尝试在每次加载管理页面时生成随机内容”
  • “它调用一个函数dummy_content_generator_generate_content_paragraphs,而这个函数又会尝试调用dummy_content_generator_get_random_paragraph它试图生成的每个段落。问题是没有dummy_content_generator_get_random_paragraph功能。
  • “页面加载到一个点,然后因为缺少更多内容而出错”
  • “除了所有提到的问题之外,没有任何验证,也没有转义输出,这太糟糕了”
  • “就以某物为起点而言,这是一个非常非常糟糕的起点。就拥有一个有效的插件而言,这还差得远”

几经讨论,觉得这个插件问题比较多,修复起来费工夫,建议我放弃这个项目。

然而,在这一点上,我太投入于我的使命,以至于不能简单地放弃一切并放弃。回顾温斯顿·丘吉尔爵士的名言(“再给我拿一杯白兰地”“永不屈服,永不屈服,永不,永不,永不……”),我决定是时候……

测试#2 …

好的,所以我第一次尝试让 ChatGPT 从头开始​​构建 WordPress 插件是一个惨痛的失败。这本身就为 ChatGPT 执行复杂编码任务的能力提供了一些有价值的见解(或者,正如团队中的某人所说,“如果没有广泛的编码知识,就无法使用 ChatGPT 进行编码。”)

因此,对于“测试 #2”,让我们重置并再次使用更简单的插件请求。

回到绘图板,一个灵光一现的瞬间点亮了我的脑海……为什么不请 ChatGPT 为简单的 WordPress 插件提出想法,然后它可以为其生成代码?

所以,这就是我所做的。这是我及时设计的提示……

ChatGPT 提示生成 WordPress 插件创意。
我的天才提示。

这是 ChatGPT 回复的建议插件列表……

ChatGPT - WordPress 插件创意列表。
我的 WordPress 插件帝国的蓝图。

我喜欢最后一个建议,所以我要求 ChatGPT 为功能性内容复制器插件生成代码,它立即开始工作。

ChatGPT 提示为复制内容的 WordPress 插件生成代码。
这就是印钞许可证的样子!

ChatGPT 眨眼间为插件生成了以下代码:

<?php
/*
Plugin Name: Content Duplicator
Description: Allows users to duplicate posts, pages, or custom post types with one click.
Version: 1.0.0
Author: Your Name
Author URI: https://yourwebsite.com
*/
 
// Add duplicate action links to post row actions
function content_duplicator_add_duplicate_link( $actions, $post ) {
    if ( current_user_can( 'edit_posts' ) ) {
        $actions['duplicate'] = '<a href="' . wp_nonce_url( admin_url( 'admin-post.php?action=content_duplicator_duplicate_post&post_id=' . $post->ID ), 'content_duplicator_duplicate_post' ) . '" title="Duplicate this item" rel="permalink">Duplicate</a>';
    }
    return $actions;
}
add_filter( 'post_row_actions', 'content_duplicator_add_duplicate_link', 10, 2 );
 
// Duplicate the post
function content_duplicator_duplicate_post() {
    if ( isset( $_GET['post_id'] ) ) {
        $post_id = absint( $_GET['post_id'] );
 
        if ( current_user_can( 'edit_posts' ) && wp_verify_nonce( $_GET['_wpnonce'], 'content_duplicator_duplicate_post' ) ) {
            $post = get_post( $post_id );
 
            $args = array(
                'post_title' => $post->post_title . ' (Duplicate)',
                'post_content' => $post->post_content,
                'post_type' => $post->post_type,
                'post_status' => $post->post_status,
                'post_parent' => $post->post_parent,
                'post_author' => get_current_user_id(),
            );
 
            $new_post_id = wp_insert_post( $args );
 
            if ( $new_post_id ) {
                // Duplicate meta fields
                $meta_fields = get_post_custom( $post_id );
                foreach ( $meta_fields as $key => $values ) {
                    foreach ( $values as $value ) {
                        add_post_meta( $new_post_id, $key, $value );
                    }
                }
 
                // Redirect to the duplicated post
                wp_redirect( admin_url( 'post.php?action=edit&post=' . $new_post_id ) );
                exit;
            }
        }
    }
}
add_action( 'admin_post_content_duplicator_duplicate_post', 'content_duplicator_duplicate_post' );

它甚至在生成代码后提供了一组指令。

ChatGPT 说明。
该代码不仅附带说明,而且 ChatGPT 甚至说“请”!

然后我回到我的测试站点并将新的插件文件上传到目录wp-content > plugins 。

The Hub - 文件管理器
在此屏幕截图中有很多要解压缩的操作。

我还创建了一个虚拟帖子来测试插件……

WordPress 测试帖。
插件可以复制这个俗气的帖子吗?让我们找出答案!

这是激活插件前帖子的菜单选项……

具有单个帖子条目的 WordPress 帖子表。
带有默认选项的默认帖子。

让我们去激活插件……

WordPress 插件屏幕 - 激活内容复制器
“Activate Content Duplicator”——听起来像是星际迷航电影中的台词。

成功!插件已激活。

WordPress 插件屏幕 - 插件激活消息。
无偿截图证明插件已成功激活。

现在,让我们看看这个插件是否真的有效。

又是我的测试贴。请注意,该插件在激活后在菜单中添加了一个新的“重复”项。

让我们点击“复制”,看看会发生什么……

WordPress 帖子表 - 带有新重复项的帖子条目。
ChatGPT 甚至在代码中添加了“重复”菜单项工具提示!

已创建重复的帖子…

重复的 WordPress 帖子的示例。
原始帖子的副本。

这是显示原始帖子和重复帖子条目的帖子表。

包含原始帖子和重复帖子的 WordPress 帖子表。
原始帖子及其克隆版本。

我敢肯定,通过更好的及时工程和一些代码调整,插件可以得到显着改进。例如,我更希望插件将新复制的帖子的帖子状态设置为“草稿”而不是发布它,但 ChatGPT 提供了一个简单的 WordPress 插件。这是基本的,但它完成了工作。

我现在需要做的就是请一位以编写 WordPress 插件为生的人来仔细检查代码并分享他们对使用像 ChatGPT 这样的工具来编写插件的感受。

来自我们的专家插件开发人员的反馈

将插件上传到我们的一个测试渠道后不久,我收到了一位开发人员的通知。以下是他们反馈中提供的一些要点:

  • “ChatGPT 等人很擅长回答你已经知道答案的问题。”
  • “我过去也用它来为我构建一个简单的插件,但只要我给出更复杂的提示,它就会开始乱七八糟,所以最终我手动调试给定的代码才能工作,否则它会它需要很长时间才能逐行调试它。”
  • “基本上,它按照它说的做。但是,它确实按字面意思做了。与此一样,它将复制一个帖子及其相应的 postmeta(自定义)字段。但是,它似乎不会将任何分类法传播到重复的帖子(插件应该复制并分配相同的分类术语,例如类别或标签,从原始帖子到重复的帖子)。”
  • 如果我对此非常挑剔,我还会提到它还没有 L10n-ready——没有翻译这个插件的选项。但是,这只是非常挑剔 – 我真的不认为,我也不希望提示生成的插件足够通用,以至于根本需要这样的东西。对我来说,它更像是一种“非常具体的问题领域”,包括所使用的语言。归根结底,它确实按照它说的去做,这非常好。”

除了检查 ChatGPT 生成的 WordPress 插件代码并提供如上所示的反馈外,我们的开发人员在评估 ChatGPT 当前生成代码的能力后,还同意以下要点:

1 – 务必谨慎行事,不要盲目接受 ChatGPT 生成的代码是正确的。

  • ChatGPT 可以提供答案,但由用户来评估答案是否正确。
  • 存在从 ChatGPT 收到不正确或无意义的答案的风险,无论是明显的还是微妙的。
  • 务必谨慎行事,不要盲目接受生成的代码是正确的。
  • ChatGPT 的输出应被视为自动完成,使生活更轻松,但需要谨慎和验证。

然而,从坏代码或无意义代码中辨别好代码的能力意味着……

2 – 用户应对WordPress插件开发有足够的知识和理解,以便根据需要评估和修改生成的代码。

  • ChatGPT 可以帮助简化和加快构建简单的自定义 WordPress 插件、生成代码片段和提供解释的过程。然而,任何更复杂的东西都需要插件开发经验和编码技能。
  • 在没有足够知识的情况下使用 ChatGPT 可能会导致负面后果或代码不可靠。
  • 完全依赖 ChatGPT 而没有批判性思考类似于盲目复制 Stack Overflow 的第一个答案(Stack Overflow 线程提供更多上下文、多个答案和其他用户的反馈,使其成为更可靠的资源,但 Stack Overflow 线程往往更通用的,而 ChatGPT 可以为个别查询提供特定的答案)。

3 – 利用其他资源,例如 WordPress 文档、教程和社区论坛,以及 ChatGPT 可以更全面地了解 WordPress 插件开发。

  • 当您探索使用 ChatGPT 进行 WordPress 插件开发的可能性时,与 WordPress 社区互动很有价值。分享您的经验、寻求反馈并寻求有经验的开发人员的指导。参与论坛、参加 WordPress 聚会或加入在线社区可以提供有价值的见解并帮助您改进插件开发过程。
  • 此外,考虑遵循 WordPress 安全最佳实践来保护您的网站免受潜在漏洞的侵害。ChatGPT 可以提供有关您可以实施以保护您的插件的安全措施的建议。
  • 在将它们部署到生产环境之前,保持对所需功能的清晰理解并彻底检查和测试生成的代码并保护您的自定义插件也很重要。

ChatGPT 能把你变成 WordPress 插件开发者吗?

我们探索了如何利用 ChatGPT 快速安全地构建简单的自定义 WordPress 插件,即使您的编码经验有限。

除了插件的核心功能之外,您还可以利用 ChatGPT 为自定义用户界面生成代码。凭借其理解提示和生成 HTML、CSS 和 JavaScript 片段的能力,您可以创建直观的管理界面、前端组件和交互式元素,以增强用户体验并让您交付精美的最终产品。

通过利用语言模型的功能,您可以生成代码片段、优化功能并创建用户友好的界面。但是,了解生成的代码、审查和优化代码并在将自定义插件部署到您的实时网站之前彻底测试它们至关重要。

生成的代码可能还需要调整以符合编码标准、命名约定或特定项目要求。这需要一定的编码知识和技能,优化代码并确保它遵循 WordPress 编码指南以获得更好的可维护性。

底线: ChatGP 等 AI 驱动的工具可以简化您的工作流程、提高工作效率并释放新的可能性。虽然 ChatGPT 是一个强大且有价值的工具,但 AI 不会很快取代熟练的编码员。

发表回复

后才能评论