ChatGPT poate construi un plugin WordPress util care funcționează de fapt?

Publicat: 2023-05-22

Poate AI să transforme non-codatorii în dezvoltatori pro WordPress de plugin-uri? Pentru a afla, am cerut ChatGPT să creeze un plugin WordPress personalizat de la zero și apoi am solicitat echipei noastre de dezvoltatori să examineze codul...

AI este cel mai popular cuvânt din două litere din lume în acest moment. Cu toate titlurile recente de știri despre dacă AI ne va lua locurile de muncă, am vrut să știm... poate ChatGPT să dezvolte cu adevărat un plugin WordPress funcțional și util fără a fi nevoie să scrie cod de la zero? Și pluginul respectă cele mai bune practici de codare?

Din fericire, WPMU DEV construiește unele dintre cele mai robuste pluginuri WordPress din lume, așa că avem o mulțime de dezvoltatori de pluginuri WordPress experți care pot pune ChatGPT la încercare.

De fapt, dacă te plimbi pe coridoarele virtuale ale companiei noastre, nu te poți abține să nu te lovești de programatori și dezvoltatori WordPress. Se pare că toată lumea de aici poate privi un plugin WordPress și poate vedea PHP așa cum vede Neo codul digital de ploaie al Matrix.

Codul matricei
Cum arată codul PHP pentru dezvoltatorii experimentați de pluginuri WordPress. Sursa: Giphy.com

Toți, adică... în afară de mine!

Sunt doar un scriitor de blog, fără abilități de codificare și cu o dorință arzătoare de a adăuga „inginer prompt” la CV-ul meu.

Așadar, în această postare, vom explora cum să valorificăm puterea ChatGPT pentru a construi rapid și în siguranță un plugin WordPress personalizat simplu, chiar dacă nu aveți abilități extinse de codare.

Vom face asta prin:

1) Solicitarea lui ChatGPT să genereze codul pentru un plugin util pe care îl putem testa și

2) Rularea codului generat de ChatGPT pe lângă echipa noastră de dezvoltatori profesioniști de pluginuri, astfel încât să-l poată revizui și să-și ofere feedback sincer.

Vom acoperi următoarele:

  • Pasul 1 – Definiți funcționalitatea pluginului
  • Pasul 2 – Generați fragmente de cod cu ChatGPT
  • Pasul 3 – Testați pluginul personalizat
  • Feedback de la dezvoltatorii noștri experți de pluginuri
  • Poate ChatGPT să te transforme într-un dezvoltator de pluginuri WordPress?

Pasul 1 – Definiți funcționalitatea pluginului

Înainte de a folosi ChatGPT pentru a genera cod, trebuie să înțelegem clar funcționalitatea pe care dorim să le ofere pluginul nostru.

Aceasta începe prin a sublinia caracteristicile, acțiunile sau modificările specifice pe care dorim să le realizăm cu pluginul nostru. Acest lucru ne va ajuta apoi să generăm solicitări precise pentru ChatGPT și să ne asigurăm că codul nostru generat de AI se aliniază cu rezultatele dorite.

Pasul 2 – Generați fragmente de cod cu ChatGPT

Pentru a genera fragmentele noastre de cod folosind ChatGPT, vom păstra lucrurile simple (și gratuite) și vom folosi interfața disponibilă gratuit oferită de OpenAI.

Luați numărul 1...

Notă: Prima mea încercare de a folosi ChatGPT pentru a crea un plugin WordPress de la zero a fost mult prea ambițioasă. Am rugat ChatGPT să-mi construiască un WordPress simplu calatorie in timp plugin de generare de text fals , folosind promptul de mai jos...

ChatGPT - prompt pentru crearea pluginului WordPress.
Acest prompt va da cu siguranță anvelopele de dezvoltare a pluginului WordPress pentru ChatGPT.

Fiind cineva care petrece mult timp scriind tutoriale WordPress, am adesea nevoie de conținut fals pentru a testa pluginuri, a crea capturi de ecran etc.

Așadar, m-am gândit că ar fi grozav să modelez pluginul meu de conținut simulat generat de AI pe un plugin pe care îl folosesc adesea numit FakerPress.

ChatGPT a respins cererea mea și mi-a spus că crearea unui plugin WordPress complet funcțional, cu toate funcțiile pe care le-am solicitat, a depășit scopul unui singur răspuns.

Cu toate acestea, mi-a oferit un șablon de bază, să mă ghideze cu privire la modul de implementare a unora dintre funcțiile pe care le-am menționat și chiar mi-a oferit instrucțiuni despre cum să creez un director și un fișier de plugin...

Răspuns ChatGPT la solicitarea de dezvoltare a pluginului WordPress.
Mmm... poate prima mea încercare de a crea un plugin WordPress a fost prea ambițioasă!

La început, codul de ieșire ChatGPT care părea destul de impresionant...

Cod ChatGPT
Pentru cineva care știe „zip” despre codificare, fragmentul de cod de mai sus arată cu siguranță impresionant!

ChatGPT scoate tot codul suplimentar necesar pentru a parcurge următorii pași.

ChatGPT - Solicitare de dezvoltare a pluginului WordPress.
Neavând abilități de codificare, m-am bazat pe ChatGPT pentru a mă ghida prin fiecare pas al procesului de dezvoltare a pluginului.

Odată cu ieșirea codului pluginului, următorul pas a fost să încarc pluginul pe site-ul meu de testare și să îl testez pentru a mă asigura că funcționează.

Pasul 3 – Testați pluginul personalizat

După ce am încărcat folderul care conține codul pluginului în directorul wp-content > plugins al site-ului meu de testare și l-am activat în ecranul Plugins...

Ecran de pluginuri - link meniu de activare a Generatorului de conținut inactiv.
Și acum, pentru moment, am așteptat cu toții [drumroll]...
Am o eroare fatală!

Ecran de pluginuri - mesaj de eroare fatal.
Ce anticlimax... cel mai de jos punct al carierei mele de dezvoltare de plugin WordPress!

Presupunând că poate nu am adăugat corect fragmentele suplimentare pe care ChatGPT le-a furnizat, m-am întors și am cerut ca tot codul să fie furnizat ca un singur fișier pe care l-am putut pur și simplu copia și lipi pentru a suprascrie și a actualiza fișierul plugin încărcat...

Captură de ecran cu promptul și răspunsul ChatGPT.
De ce nu mi-ar fi putut să-mi dea întregul cod de copiere și inserare prima dată?

Era o mulțime de cod de scos, așa că ori de câte ori procesul s-a oprit, am instruit ChatGPT să continue...

Captură de ecran cu promptul și răspunsul ChatGPT.
ChatGPT uneori are nevoie doar de puțină încurajare blândă pentru a continua.

După ce a repetat acest proces de mai multe ori, ChatGPT a scos întregul cod și chiar a furnizat câteva informații utile.

Captură de ecran a răspunsului ChatGPT.
După ce ați așteptat 2 minute întregi... ChatGPT scoate în sfârșit tot codul pluginului!

Am încărcat fișierul plugin cu noul cod pe site-ul meu de testare, apoi am sărit în zona de administrare a site-ului și am activat pluginul.

A mers! Sau, așa părea.

ChatGPT a oferit pluginului propriul element de meniu...

Plugin WordPress Dummy Content Generator - creat de ChatGPT
ChatGPT a creat toate acestea!

Și un ecran de setări cu o mulțime de casete și câmpuri elegante...

Ecranul de setări al pluginului Dummy Content Generator WordPress.
Pare impresionant... dar va funcționa?

Dar nu am putut vedea un câmp pentru a specifica câte postări sau pagini să creez, așa că pur și simplu am bifat câteva casete, am introdus câteva valori și am făcut clic pe butonul „Salvare modificări” pentru a vedea ce se întâmplă.

Plugin WordPress Dummy Content Generator - creat de ChatGPT
Și acum, pentru momentul adevărului...

Și... nu s-a întâmplat absolut nimic!

Tabel cu postări WordPress care arată o singură postare „Bună ziua, lume”.
Cel mai nou punct de jos al carierei mele de dezvoltare de plugin WordPress... un plugin care nu face nimic!

Plugin-ul meu fantezist a fost doar o imaginație, la fel ca una dintre acele nave spațiale pentru locuri de joacă pentru copii care este plină de butoane inutile pe care le poți întoarce și butoane pe care le poți apăsa în timp ce te prefaci că zboară în spațiul cosmic.

Așadar, am contactat unul dintre dezvoltatorii noștri prin Slack și i-am rugat să se uite la fișierul plugin.

Unele dintre comentariile care au revenit au inclus următoarele:

  • „Plugin-ul încearcă să genereze conținut aleatoriu pe fiecare încărcare a paginii de administrare”
  • „Apelează o funcție dummy_content_generator_generate_content_paragraphs care, la rândul său, încearcă să apeleze dummy_content_generator_get_random_paragraph pentru fiecare paragraf pe care încearcă să îl genereze. Problema este că nu există nicio funcție dummy_content_generator_get_random_paragraph .
  • „Pagina se încarcă până la un punct, apoi greșește pentru că lipsesc mai multe lucruri”
  • „În afară de toate problemele menționate, nu există nicio validare și nicio scăpare a rezultatului, ceea ce este îngrozitor”
  • „În ceea ce privește a avea ceva ca punct de plecare, acesta este unul foarte, foarte sărac. În ceea ce privește existența unui plugin care funcționează, acest lucru nu este nici pe departe așa.”

După câteva discuții înainte și înapoi, s-a considerat că pluginul este destul de greșit, că ar fi nevoie de multă muncă pentru a-l remedia și mi-au sugerat să renunț la proiect.

În acest moment, însă, eram prea investit în misiunea mea pentru a abandona pur și simplu totul și a renunța. Amintindu-ne de cuvintele celebre ale lui Sir Winston Churchill ( „Adu-mi un alt coniac” „Niciodată să nu cedezi, niciodată să nu cedezi, niciodată, niciodată, niciodată…”), am decis că este timpul pentru...

Luați numărul 2...

Ok, deci prima mea încercare de a face ChatGPT să creeze un plugin WordPress de la zero a fost un eșec lamentabil. Acest lucru în sine a oferit câteva informații valoroase asupra capacității ChatGPT de a efectua sarcini complexe de codare (sau, după cum a spus cineva din echipă, „nu puteți codifica folosind ChatGPT fără a avea cunoștințe extinse de codare”).

Deci, pentru „Take #2”, am decis să încerc din nou cu o solicitare de plugin mai simplă.

Revenind la planșa de desen, în mintea mea s-a aprins un moment de geniu bec... de ce să nu îi ceri lui ChatGPT să sugereze idei pentru pluginuri WordPress simple pentru care ar putea genera codul?

Deci, asta am făcut. Iată solicitarea pe care am creat-o imediat...

ChatGPT prompt pentru generarea de idei de plugin WordPress.
Geniul meu prompt.

Și iată lista de pluginuri sugerate la care ChatGPT a răspuns...

ChatGPT - Listă de idei de pluginuri WordPress.
Planul imperiului meu de pluginuri WordPress.

Mi-a plăcut ultima sugestie, așa că am cerut ChatGPT să genereze codul pentru un plugin funcțional de duplicare a conținutului și a mers imediat.

ChatGPT solicită generarea codului pentru un plugin WordPress care dublează conținutul.
Așa arată o licență de a tipări bani!

ChatGPT a generat următorul cod pentru plugin într-o clipă:

<?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' );

A furnizat chiar și un set de instrucțiuni după generarea codului.

Instrucțiuni ChatGPT.
Codul nu numai că vine cu instrucțiuni, dar ChatGPT chiar spune „Te rog”!

Am încărcat apoi noul fișier plugin în directorul wp-content > plugins al site-ului meu de testare folosind managerul de fișiere al Hub-ului.

Hub - Manager de fișiere
Există o mulțime de acțiuni de despachetat în această captură de ecran.

Și am creat o postare inactivă pentru a testa pluginul cu...

Postare de testare WordPress.
Pluginul a duplicat această postare brânză? Să aflăm!

Iată opțiunile de meniu ale postării înainte de a activa pluginul...

Tabel de postări WordPress cu o singură intrare.
O postare implicită cu opțiuni implicite.

După activarea pluginului...

Ecran WordPress Plugins - Activați Duplicator de conținut
„Activați duplicatorul de conținut” – Sună ca o replică dintr-un film Star Trek.

Succes!

Ecran WordPress Plugins - Mesaj cu plugin activat.
O captură de ecran gratuită care demonstrează că pluginul s-a activat cu succes.

Pluginul a fost activat. Dar chiar a funcționat?

Iată din nou postarea mea de testare (rețineți că pluginul a adăugat un nou element „Duplicare” în meniu după activare). Apoi am făcut clic pe „Duplicați” pentru a vedea ce se întâmplă...

Tabel de postări WordPress - Postați intrarea cu un nou articol duplicat.
ChatGPT a adăugat chiar și un sfat explicativ pentru elementul de meniu „Duplicare” la cod!

Și a fost creată o postare duplicată!

Un exemplu de postare WordPress duplicată.
Un duplicat al postării originale.

Iată tabelul de postări care arată intrările pentru postarea originală și cea duplicată.

Tabel de postări WordPress cu postare originală și postare duplicată.
Postarea originală și versiunea sa clonată.

Sunt sigur că, cu o mai bună inginerie promptă și unele modificări ale codului, pluginul ar fi putut fi îmbunătățit semnificativ. De exemplu, aș prefera ca pluginul să seteze starea postării nou-duplicate la „schiță” în loc să o publice, dar ChatGPT a furnizat un plugin WordPress simplu care a funcționat. A fost de bază, dar a făcut treaba.

Ultimul pas a fost să ceri cuiva care codifică pluginuri WordPress pentru a-și câștiga existența să examineze codul și să-și obțină părerea despre utilizarea unui instrument precum ChatGPT pentru a codifica pluginurile.

Feedback de la dezvoltatorii noștri experți de pluginuri

La scurt timp după ce am încărcat pluginul pe unul dintre canalele noastre de testare, am primit un ping de la unul dintre dezvoltatorii noștri. Iată câteva dintre punctele cheie furnizate în feedback-ul lor:

  • „ChatGPT și colab. sunt cuminți să răspundă la întrebări la care știți deja răspunsul.”
  • „L-am folosit și în trecut pentru a construi un plugin simplu pentru mine, dar atâta timp cât dădeam solicitări mai complexe, a început să încurce lucrurile, așa că în cele din urmă am depanat manual codul dat să funcționeze, pentru că altfel ar fi ia mult timp pentru a-l depana linie cu linie.”
  • „Practic, face ceea ce spune. Cu toate acestea, face ceea ce spune foarte literal. Ca și în, va duplica o postare și câmpurile postmeta (personalizate) corespunzătoare. Cu toate acestea, nu se pare că va propaga taxonomii la postarea duplicată (plugin-ul ar trebui să copieze și să atribuie aceiași termeni de taxonomie, cum ar fi categorii sau etichete, de la postarea originală la postarea duplicată).”
  • Dacă ar fi să fiu foarte capricios în privința asta, aș menționa, de asemenea, că nu este pregătit pentru L10n – nu va exista o opțiune de a traduce acest plugin. Dar, asta este doar a fi foarte prost – nu cred, nici nu m-aș aștepta, ca un plugin generat de prompt să fie suficient de generic pentru a avea nevoie de așa ceva. Pentru mine, este mai mult un fel de „domeniu cu probleme foarte specifice”, inclusiv limbajul folosit. La sfârșitul zilei, face ceea ce spune că va, ceea ce este foarte frumos.”

Pe lângă examinarea codului pluginului WordPress generat de ChatGPT și furnizarea de feedback așa cum se arată mai sus, dezvoltatorii noștri au fost de acord cu următoarele puncte cheie după ce au evaluat capacitățile actuale ale ChatGPT de a genera cod:

1 – Este important să fiți prudent și să nu acceptați orbește codul generat de ChatGPT ca fiind corect.

  • ChatGPT poate oferi răspunsuri, dar este la latitudinea utilizatorului să evalueze dacă răspunsul este corect sau nu.
  • Există riscul de a primi răspunsuri incorecte sau fără sens de la ChatGPT, atât evidente, cât și subtile.
  • Este important să fiți precauți și să nu acceptați orbește codul generat ca fiind corect.
  • Ieșirea ChatGPT ar trebui tratată ca completare automată, ușurând viața, dar necesită prudență și verificare.

Cu toate acestea, capacitatea de a discerne codul bun de codul rău sau fără sens implică faptul că...

2 – Utilizatorii ar trebui să aibă suficiente cunoștințe și înțelegere a dezvoltării pluginului WordPress pentru a evalua și modifica codul generat după cum este necesar.

  • ChatGPT poate ajuta la simplificarea și accelerarea procesului de construire a pluginurilor WordPress personalizate simple, la generarea fragmentelor de cod și la furnizarea de explicații. Totuși, orice lucru mai complex necesită experiență în dezvoltarea de pluginuri și abilități de codare.
  • Folosirea ChatGPT fără cunoștințe suficiente poate duce la consecințe negative sau la cod nefiabil.
  • Să te bazezi exclusiv pe ChatGPT fără gândire critică este similar cu copierea orbește a primului răspuns din Stack Overflow (Fireurile Stack Overflow oferă mai mult context, răspunsuri multiple și feedback de la alți utilizatori, făcându-l o resursă mai fiabilă, dar firele Stack Overflow tind să fie mai mult generic, în timp ce ChatGPT poate oferi răspunsuri specifice la întrebări individuale).

3 – Utilizarea altor resurse, cum ar fi documentația WordPress, tutorialele și forumurile comunitare, alături de ChatGPT, poate oferi o înțelegere mai cuprinzătoare a dezvoltării pluginului WordPress.

  • Pe măsură ce explorați posibilitățile de utilizare a ChatGPT pentru dezvoltarea de pluginuri WordPress, este valoros să interacționați cu comunitatea WordPress. Împărtășiți-vă experiențele, cereți feedback și căutați îndrumări de la dezvoltatori experimentați. Participarea la forumuri, participarea la întâlniri WordPress sau alăturarea unor comunități online poate oferi informații valoroase și vă poate ajuta să vă îmbunătățiți procesul de dezvoltare a pluginurilor.
  • În plus, luați în considerare următoarele bune practici de securitate WordPress pentru a vă proteja site-ul de potențiale vulnerabilități. ChatGPT poate oferi recomandări cu privire la măsurile de securitate pe care le puteți implementa pentru a vă proteja pluginul.
  • De asemenea, este esențial să mențineți o înțelegere clară a funcționalității dorite și să examinați și să testați amănunțit codul generat și să vă asigurați pluginurile personalizate înainte de a le implementa într-un mediu de producție.

Poate ChatGPT să te transforme într-un dezvoltator de pluginuri WordPress?

În acest articol, am explorat modul în care puteți utiliza ChatGPT pentru a crea pluginuri WordPress personalizate simple, chiar dacă aveți o experiență limitată de codare.

În alte articole, am văzut că instrumentele bazate pe inteligență artificială precum ChatGP vă pot simplifica fluxul de lucru, crește productivitatea și debloca noi posibilități (consultați articolul nostru recent despre modalitățile în care ChatGPT vă poate ajuta în calitate de dezvoltator WordPress).

Deși există peste 60.000 de pluginuri WordPress gratuite disponibile care acoperă fiecare tip de funcționalitate pe care ți le poți imagina, uneori este posibil să ai nevoie de o soluție personalizată pentru a satisface cerințele specifice ale unui client.

Dincolo de funcționalitatea de bază a pluginului dvs., puteți, de asemenea, să utilizați ChatGPT pentru a genera cod pentru interfețele de utilizator personalizate. Cu capacitatea sa de a înțelege solicitările și de a genera fragmente HTML, CSS și JavaScript, puteți crea interfețe de administrare intuitive, componente front-end și elemente interactive care vor îmbunătăți experiența utilizatorului și vă vor permite să livrați un produs final rafinat.

Utilizând capacitățile modelului de limbaj, puteți genera fragmente de cod, optimiza funcționalitatea și crea interfețe ușor de utilizat. Cu toate acestea, este esențial să înțelegeți codul generat, să îl revizuiți și să-l rafinați și să testați temeinic pluginurile personalizate înainte de a le implementa pe site-ul dvs. web live.

Codul generat poate necesita, de asemenea, ajustări pentru a se alinia cu standardele de codificare, convențiile de denumire sau cerințele specifice ale proiectului. Acest lucru necesită o anumită cantitate de cunoștințe și abilități de codare, la fel ca optimizarea codului și asigurarea că respectă regulile de codificare WordPress pentru o mai bună întreținere.

Linia de jos:

Iată constatările mele după ce am încercat să fac ChatGPT să-mi codifice un plugin de la zero:

  1. Nu aș fi putut face acest lucru fără ajutorul dezvoltatorilor noștri experimentați.
  2. Folosirea ChatGPT pentru a genera cod fără cunoștințe de codificare este cu adevărat o provocare - vă ajută să știți ce faceți :)
  3. În timp ce ChatGPT este un instrument puternic și valoros, se pare că AI nu va înlocui programatorii calificați în curând.

Vă interesează să dezvoltați pluginuri WordPress?

Consultați câteva dintre tutorialele și articolele noastre despre dezvoltarea pluginurilor WordPress:

  • Noțiuni introductive cu dezvoltarea pluginurilor WordPress
  • Un ghid rapid și aprofundat pentru cârlige WordPress
  • Crearea de pluginuri WordPress într-un mod orientat pe obiecte

Ați încercat să utilizați instrumente AI precum ChatGPT pentru a crea sau personaliza un plugin WordPress? Împărtășiți-vă gândurile și experiențele în comentariile de mai jos.