ChatGPT 是目前最為先進(jìn)的AI機(jī)器人,今天倡萌看到了一篇來自 WPMU DEV 的文章,探討了《ChatGPT 可以構(gòu)建一個有用的 WordPress 插件嗎?》,分享過來(機(jī)器翻譯的),有興趣的朋友可以看看。
AI 是目前世界上最流行的兩個字母的單詞。最近所有關(guān)于人工智能是否會搶走我們工作的新聞頭條,我們想知道…… ChatGPT是否真的可以開發(fā)一個功能強(qiáng)大且有用的 WordPress 插件,而無需從頭開始編寫代碼?該插件是否符合最佳編碼實(shí)踐?
幸運(yùn)的是,WPMU DEV 構(gòu)建了一些世界上最強(qiáng)大的 WordPress 插件,因此我們有大量專業(yè)的 WordPress 插件開發(fā)人員可以對 ChatGPT 進(jìn)行測試。
事實(shí)上,如果您在我們公司的虛擬走廊中漫步,您會情不自禁地碰到 WordPress 編碼人員和開發(fā)人員。似乎這里的每個人都可以查看 WordPress 插件并查看 PHP,就像 Neo 查看 Matrix 的數(shù)字雨代碼一樣。
各位,那就是……除了我!
我只是一個沒有編碼技能的博客作者,并且強(qiáng)烈希望在我的簡歷中添加“及時的工程師”。
因此,在本文中,我們將探討如何利用 ChatGPT 的強(qiáng)大功能快速安全地構(gòu)建簡單的自定義 WordPress 插件,即使您缺乏廣泛的編碼技能。
我們將通過以下方式做到這一點(diǎn):
1) 要求 ChatGPT 為我們可以測試的有用插件生成代碼,以及
2) 運(yùn)行 ChatGPT 生成的代碼,讓我們的專業(yè)插件開發(fā)人員團(tuán)隊通過,以便他們審查代碼并提供誠實(shí)的反饋。
我們將介紹以下內(nèi)容:
探索 ChatGPT 對 WordPress 插件開發(fā)的強(qiáng)大功能
WordPress 成為世界上最受歡迎的內(nèi)容管理系統(tǒng)的原因之一是該軟件的靈活性和可擴(kuò)展性,可以創(chuàng)建可以使用插件做任何事情的網(wǎng)站。
雖然有超過 60,000 個免費(fèi)的 WordPress 插件可用,涵蓋了您能想到的各種功能,但有時您可能需要定制解決方案來滿足客戶的特定要求。
如果您不是 WordPress 插件開發(fā)人員,那么直到最近,您唯一的選擇是要么成為 WordPress 插件開發(fā)人員并學(xué)習(xí)如何從頭開始編寫插件代碼或修改現(xiàn)有插件的代碼,要么聘請 WordPress 開發(fā)人員為你。
隨著新的 AI 工具和技術(shù)的爆炸式增長,我們現(xiàn)在有了第三種選擇,雖然不一定承諾會做得更好,但可以幫助您以更低的成本和更快的速度完成工作(請查看我們最近關(guān)于 ChatGPT 可以如何幫助您的文章一個 WordPress 開發(fā)者)。
ChatGPT 由OpenAI提供支持,是一種高級語言模型,能夠根據(jù)給定的提示生成類似人類的文本。它還聲稱能夠通過提供代碼片段、解釋甚至最佳實(shí)踐建議來幫助您構(gòu)建自定義 WordPress 插件。
因此,我們想親自了解是否可以利用 ChatGPT 來加速 WordPress 插件開發(fā)過程并確保插件的安全性。
為此,我們將要求 ChatGPT 為我們構(gòu)建一個簡單、有用且功能強(qiáng)大的插件。
定義插件的功能
在使用 ChatGPT 生成代碼之前,您需要清楚地了解您希望插件提供的功能。
首先概述您希望通過插件實(shí)現(xiàn)的特定功能、操作或修改。這將幫助您為 ChatGPT 生成準(zhǔn)確的提示,并確保您的 AI 生成的代碼與您期望的結(jié)果一致。
使用 ChatGPT 生成代碼片段
為了使用 ChatGPT 生成我們的代碼片段,我們將保持簡單(和免費(fèi))并使用 OpenAI 提供的免費(fèi)接口。
測試#1…
注意:我第一次嘗試使用 ChatGPT 從頭開始??創(chuàng)建 WordPress 插件的嘗試過于雄心勃勃。我要求 ChatGPT 為我構(gòu)建一個簡單的 WordPress時間旅行 虛擬文本生成插件,使用下面的提示…

作為一個花費(fèi)大量時間編寫 WordPress 教程的人,我經(jīng)常需要虛擬內(nèi)容來測試插件、創(chuàng)建屏幕截圖等。
因此,我認(rèn)為在我經(jīng)常使用的名為 FakerPress 的插件上為我的 AI 生成的虛擬內(nèi)容插件建模會很棒 。
ChatGPT 立即拒絕了我的請求,并告訴我創(chuàng)建一個具有我描述的所有功能的全功能 WordPress 插件超出了單一響應(yīng)的范圍。
然而,它確實(shí)為我提供了一個基本模板,指導(dǎo)我如何實(shí)現(xiàn)我提到的一些功能,甚至還指導(dǎo)我如何創(chuàng)建插件目錄和文件……

起初,我以為隧道盡頭有光。ChatGPT 輸出代碼在我未經(jīng)訓(xùn)練的眼睛和不熟練的頭腦看來令人印象深刻……

ChatGPT 還會輸出完成后續(xù)步驟所需的所有附加代碼。

并為我缺乏編碼知識和經(jīng)驗而道歉……

它還通過逐步說明指導(dǎo)我,就像它承諾的那樣……

我無法真正描述我看到 ChatGPT 吐出代碼時的感受,但這可能類似于比爾蓋茨第一次拿著一組包含 Windows 操作系統(tǒng)工作代碼的軟盤時的感受。
設(shè)置您的測試站點(diǎn)
生成插件代碼后,下一步是設(shè)置一個虛擬站點(diǎn)來測試插件。
我很快在The Hub中創(chuàng)建了一個新站點(diǎn)。

注意:如果您正在為現(xiàn)有站點(diǎn)開發(fā)插件,我們建議設(shè)置本地開發(fā)環(huán)境或暫存站點(diǎn),以確保插件按預(yù)期工作并且不會與站點(diǎn)上的其他現(xiàn)有插件或主題沖突。
我的手指在桌子上敲了幾分鐘后,我的新 WordPress 網(wǎng)站就準(zhǔn)備好了。

設(shè)置測試站點(diǎn)后,下一步是上傳插件并進(jìn)行測試以確保其正常工作。
測試您的自定義插件
wp-content > plugins我按照 ChatGPT 的說明使用 The Hub 的文件管理器將插件文件夾上傳到我的測試站點(diǎn)目錄。

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

而且……我遇到了一個致命錯誤!

假設(shè)我可能沒有添加 ChatGPT 正確提供的額外片段,我返回并要求將所有代碼作為單個文件提供,我可以簡單地復(fù)制和粘貼以覆蓋和更新上傳的插件文件。
ChatGPT 同意并向我提供了完整的代碼。

有很多代碼要輸出,所以每當(dāng)事情陷入停頓時,我都會指示 ChatGPT 繼續(xù)這個過程。

這個過程我重復(fù)了幾次。

最后,輸出了整個代碼。ChatGPT 甚至在流程結(jié)束時提供了一些有用的信息。

我將帶有新代碼的插件文件上傳到我的測試站點(diǎn),然后跳轉(zhuǎn)到該站點(diǎn)的管理區(qū)域并激活該插件。
有效!或者看起來是這樣。
ChatGPT 甚至為插件提供了自己的菜單項……

還有一個設(shè)置屏幕,上面有很多花哨的框和字段。

我的第一印象是“哇……ChatGPT 創(chuàng)建了這個插件,并且對一些插件設(shè)置和用戶界面布局和設(shè)計做出了自己的決定!”
但是……“插件有效嗎?”
我看不到可以指定要創(chuàng)建多少帖子或頁面的字段,所以我只是勾選了一些框,輸入了一些值,然后單擊“保存更改”按鈕以查看會發(fā)生什么。

而且……什么都沒發(fā)生!

我的花哨插件全都是虛構(gòu)的,就像那些兒童游樂場的宇宙飛船中的一個,里面裝滿了你可以轉(zhuǎn)動的無用旋鈕和你可以按下的按鈕,同時假裝在外太空飛行。
因此,我通過 Slack 聯(lián)系了我們的一位開發(fā)人員,請他們查看插件文件。
返回的一些評論包括以下內(nèi)容:
- “該插件會嘗試在每次加載管理頁面時生成隨機(jī)內(nèi)容”
- “它調(diào)用一個函數(shù)
dummy_content_generator_generate_content_paragraphs,而這個函數(shù)又會嘗試調(diào)用dummy_content_generator_get_random_paragraph它試圖生成的每個段落。問題是沒有dummy_content_generator_get_random_paragraph功能。 - “頁面加載到一個點(diǎn),然后因為缺少更多內(nèi)容而出錯”
- “除了所有提到的問題之外,沒有任何驗證,也沒有轉(zhuǎn)義輸出,這太糟糕了”
- “就以某物為起點(diǎn)而言,這是一個非常非常糟糕的起點(diǎn)。就擁有一個有效的插件而言,這還差得遠(yuǎn)”
幾經(jīng)討論,覺得這個插件問題比較多,修復(fù)起來費(fèi)工夫,建議我放棄這個項目。
然而,在這一點(diǎn)上,我太投入于我的使命,以至于不能簡單地放棄一切并放棄。回顧溫斯頓·丘吉爾爵士的名言(“再給我拿一杯白蘭地”“永不屈服,永不屈服,永不,永不,永不……”),我決定是時候……
測試#2 …
好的,所以我第一次嘗試讓 ChatGPT 從頭開始??構(gòu)建 WordPress 插件是一個慘痛的失敗。這本身就為 ChatGPT 執(zhí)行復(fù)雜編碼任務(wù)的能力提供了一些有價值的見解(或者,正如團(tuán)隊中的某人所說,“如果沒有廣泛的編碼知識,就無法使用 ChatGPT 進(jìn)行編碼。”)
因此,對于“測試 #2”,讓我們重置并再次使用更簡單的插件請求。
回到繪圖板,一個靈光一現(xiàn)的瞬間點(diǎn)亮了我的腦海……為什么不請 ChatGPT 為簡單的 WordPress 插件提出想法,然后它可以為其生成代碼?
所以,這就是我所做的。這是我及時設(shè)計的提示……

這是 ChatGPT 回復(fù)的建議插件列表……

我喜歡最后一個建議,所以我要求 ChatGPT 為功能性內(nèi)容復(fù)制器插件生成代碼,它立即開始工作。

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' );
它甚至在生成代碼后提供了一組指令。

然后我回到我的測試站點(diǎn)并將新的插件文件上傳到目錄wp-content > plugins 。

我還創(chuàng)建了一個虛擬帖子來測試插件……

這是激活插件前帖子的菜單選項……

讓我們?nèi)ゼせ畈寮?#8230;…

成功!插件已激活。

現(xiàn)在,讓我們看看這個插件是否真的有效。
又是我的測試貼。請注意,該插件在激活后在菜單中添加了一個新的“重復(fù)”項。
讓我們點(diǎn)擊“復(fù)制”,看看會發(fā)生什么……

已創(chuàng)建重復(fù)的帖子…

這是顯示原始帖子和重復(fù)帖子條目的帖子表。

我敢肯定,通過更好的及時工程和一些代碼調(diào)整,插件可以得到顯著改進(jìn)。例如,我更希望插件將新復(fù)制的帖子的帖子狀態(tài)設(shè)置為“草稿”而不是發(fā)布它,但 ChatGPT 提供了一個簡單的 WordPress 插件。這是基本的,但它完成了工作。
我現(xiàn)在需要做的就是請一位以編寫 WordPress 插件為生的人來仔細(xì)檢查代碼并分享他們對使用像 ChatGPT 這樣的工具來編寫插件的感受。
來自我們的專家插件開發(fā)人員的反饋
將插件上傳到我們的一個測試渠道后不久,我收到了一位開發(fā)人員的通知。以下是他們反饋中提供的一些要點(diǎn):
- “ChatGPT 等人很擅長回答你已經(jīng)知道答案的問題。”
- “我過去也用它來為我構(gòu)建一個簡單的插件,但只要我給出更復(fù)雜的提示,它就會開始亂七八糟,所以最終我手動調(diào)試給定的代碼才能工作,否則它會它需要很長時間才能逐行調(diào)試它。”
- “基本上,它按照它說的做。但是,它確實(shí)按字面意思做了。與此一樣,它將復(fù)制一個帖子及其相應(yīng)的 postmeta(自定義)字段。但是,它似乎不會將任何分類法傳播到重復(fù)的帖子(插件應(yīng)該復(fù)制并分配相同的分類術(shù)語,例如類別或標(biāo)簽,從原始帖子到重復(fù)的帖子)。”
- 如果我對此非常挑剔,我還會提到它還沒有 L10n-ready——沒有翻譯這個插件的選項。但是,這只是非常挑剔 – 我真的不認(rèn)為,我也不希望提示生成的插件足夠通用,以至于根本需要這樣的東西。對我來說,它更像是一種“非常具體的問題領(lǐng)域”,包括所使用的語言。歸根結(jié)底,它確實(shí)按照它說的去做,這非常好。”
除了檢查 ChatGPT 生成的 WordPress 插件代碼并提供如上所示的反饋外,我們的開發(fā)人員在評估 ChatGPT 當(dāng)前生成代碼的能力后,還同意以下要點(diǎn):
1 – 務(wù)必謹(jǐn)慎行事,不要盲目接受 ChatGPT 生成的代碼是正確的。
- ChatGPT 可以提供答案,但由用戶來評估答案是否正確。
- 存在從 ChatGPT 收到不正確或無意義的答案的風(fēng)險,無論是明顯的還是微妙的。
- 務(wù)必謹(jǐn)慎行事,不要盲目接受生成的代碼是正確的。
- ChatGPT 的輸出應(yīng)被視為自動完成,使生活更輕松,但需要謹(jǐn)慎和驗證。
然而,從壞代碼或無意義代碼中辨別好代碼的能力意味著……
2 – 用戶應(yīng)對WordPress插件開發(fā)有足夠的知識和理解,以便根據(jù)需要評估和修改生成的代碼。
- ChatGPT 可以幫助簡化和加快構(gòu)建簡單的自定義 WordPress 插件、生成代碼片段和提供解釋的過程。然而,任何更復(fù)雜的東西都需要插件開發(fā)經(jīng)驗和編碼技能。
- 在沒有足夠知識的情況下使用 ChatGPT 可能會導(dǎo)致負(fù)面后果或代碼不可靠。
- 完全依賴 ChatGPT 而沒有批判性思考類似于盲目復(fù)制 Stack Overflow 的第一個答案(Stack Overflow 線程提供更多上下文、多個答案和其他用戶的反饋,使其成為更可靠的資源,但 Stack Overflow 線程往往更通用的,而 ChatGPT 可以為個別查詢提供特定的答案)。
3 – 利用其他資源,例如 WordPress 文檔、教程和社區(qū)論壇,以及 ChatGPT 可以更全面地了解 WordPress 插件開發(fā)。
- 當(dāng)您探索使用 ChatGPT 進(jìn)行 WordPress 插件開發(fā)的可能性時,與 WordPress 社區(qū)互動很有價值。分享您的經(jīng)驗、尋求反饋并尋求有經(jīng)驗的開發(fā)人員的指導(dǎo)。參與論壇、參加 WordPress 聚會或加入在線社區(qū)可以提供有價值的見解并幫助您改進(jìn)插件開發(fā)過程。
- 此外,考慮遵循 WordPress 安全最佳實(shí)踐來保護(hù)您的網(wǎng)站免受潛在漏洞的侵害。ChatGPT 可以提供有關(guān)您可以實(shí)施以保護(hù)您的插件的安全措施的建議。
- 在將它們部署到生產(chǎn)環(huán)境之前,保持對所需功能的清晰理解并徹底檢查和測試生成的代碼并保護(hù)您的自定義插件也很重要。
ChatGPT 能把你變成 WordPress 插件開發(fā)者嗎?
我們探索了如何利用 ChatGPT 快速安全地構(gòu)建簡單的自定義 WordPress 插件,即使您的編碼經(jīng)驗有限。
除了插件的核心功能之外,您還可以利用 ChatGPT 為自定義用戶界面生成代碼。憑借其理解提示和生成 HTML、CSS 和 JavaScript 片段的能力,您可以創(chuàng)建直觀的管理界面、前端組件和交互式元素,以增強(qiáng)用戶體驗并讓您交付精美的最終產(chǎn)品。
通過利用語言模型的功能,您可以生成代碼片段、優(yōu)化功能并創(chuàng)建用戶友好的界面。但是,了解生成的代碼、審查和優(yōu)化代碼并在將自定義插件部署到您的實(shí)時網(wǎng)站之前徹底測試它們至關(guān)重要。
生成的代碼可能還需要調(diào)整以符合編碼標(biāo)準(zhǔn)、命名約定或特定項目要求。這需要一定的編碼知識和技能,優(yōu)化代碼并確保它遵循 WordPress 編碼指南以獲得更好的可維護(hù)性。
底線: ChatGP 等 AI 驅(qū)動的工具可以簡化您的工作流程、提高工作效率并釋放新的可能性。雖然 ChatGPT 是一個強(qiáng)大且有價值的工具,但 AI 不會很快取代熟練的編碼員。




