Может ли ChatGPT создать полезный плагин для WordPress, который действительно работает?

Опубликовано: 2023-05-22

Может ли ИИ превратить людей, не умеющих кодировать, в профессиональных разработчиков плагинов для WordPress? Чтобы выяснить это, мы попросили ChatGPT создать собственный плагин для WordPress с нуля, а затем попросили нашу первоклассную команду разработчиков изучить код…

AI — самое популярное в мире двухбуквенное слово прямо сейчас. Учитывая все последние заголовки новостей о том, отнимет ли ИИ наши рабочие места, мы хотели знать… может ли ChatGPT действительно разработать функциональный и полезный плагин WordPress без необходимости писать код с нуля? И соответствует ли плагин лучшим практикам кодирования?

К счастью, WPMU DEV создает одни из самых надежных плагинов WordPress в мире, поэтому у нас есть множество опытных разработчиков плагинов WordPress, которые могут протестировать ChatGPT.

На самом деле, если вы прогуляетесь по виртуальным коридорам нашей компании, вы не сможете не натолкнуться на программистов и разработчиков WordPress. Кажется, все здесь могут посмотреть на плагин WordPress и увидеть PHP так же, как Нео видит цифровой код дождя Матрицы.

Код матрицы
Как выглядит код PHP для опытных разработчиков плагинов WordPress. Источник: Giphy.com

Все, то есть… кроме меня!

Я просто автор блога без навыков кодирования и жгучим желанием добавить в свое резюме слово «инженер-подсказчик».

Итак, в этом посте мы рассмотрим, как использовать возможности ChatGPT для быстрого и безопасного создания простого пользовательского плагина WordPress, даже если вам не хватает обширных навыков программирования.

Мы сделаем это:

1) Попросить ChatGPT сгенерировать код полезного плагина, который мы можем протестировать, и

2) Прогон кода, сгенерированного ChatGPT, нашей командой профессиональных разработчиков плагинов, чтобы они могли просмотреть его и предоставить свои честные отзывы.

Мы рассмотрим следующее:

  • Шаг 1 – Определите функциональность плагина
  • Шаг 2. Сгенерируйте фрагменты кода с помощью ChatGPT
  • Шаг 3. Протестируйте пользовательский плагин
  • Отзывы наших опытных разработчиков плагинов
  • Может ли ChatGPT превратить вас в разработчика плагинов для WordPress?

Шаг 1 – Определите функциональность плагина

Прежде чем использовать ChatGPT для генерации кода, нам нужно иметь четкое представление о функциях, которые мы хотим, чтобы наш плагин предоставлял.

Это начинается с описания конкретных функций, действий или модификаций, которых мы хотим добиться с помощью нашего плагина. Затем это поможет нам генерировать точные подсказки для ChatGPT и гарантировать, что наш сгенерированный ИИ код соответствует желаемым результатам.

Шаг 2. Сгенерируйте фрагменты кода с помощью ChatGPT

Чтобы генерировать наши фрагменты кода с помощью ChatGPT, мы будем делать вещи простыми (и бесплатными) и использовать бесплатно доступный интерфейс, предоставляемый OpenAI.

Возьмите № 1…

Примечание. Моя первая попытка использовать ChatGPT для создания плагина WordPress с нуля была слишком амбициозной. Я попросил ChatGPT построить мне простой WordPress путешествие во времени фиктивный плагин для генерации текста , используя подсказку ниже…

ChatGPT — приглашение на создание плагина WordPress.
Это приглашение, несомненно, поднимет скорость разработки плагинов ChatGPT для WordPress.

Как человеку, который тратит много времени на написание руководств по WordPress, мне часто нужен фиктивный контент для тестирования плагинов, создания скриншотов и т. д.

Итак, я подумал, что было бы здорово смоделировать мой созданный искусственным интеллектом плагин для фиктивного контента на основе плагина FakerPress, который я часто использую.

ChatGPT отклонил мой запрос и сообщил мне, что создание полнофункционального плагина WordPress со всеми функциями, которые я запрашивал, выходит за рамки одного ответа.

Тем не менее, он предложил предоставить мне базовый шаблон, подсказать, как реализовать некоторые из функций, которые я упомянул, и даже дал мне инструкции о том, как создать каталог и файл плагина…

Ответ ChatGPT на запрос разработки плагина WordPress.
Ммм… возможно, моя первая попытка создать плагин для WordPress была слишком амбициозной!

Сначала код вывода ChatGPT выглядел довольно впечатляюще…

ЧатGPT-код
Для тех, кто разбирается в программировании, приведенный выше фрагмент кода выглядит впечатляюще!

ChatGPT также выводит весь дополнительный код, необходимый для выполнения следующих шагов.

ChatGPT — приглашение к разработке плагина для WordPress.
Не имея навыков кодирования, я полагался на ChatGPT, который помогал мне на каждом этапе процесса разработки плагина.

После вывода кода плагина следующим шагом было загрузить плагин на мой тестовый сайт и протестировать его, чтобы убедиться, что он работает.

Шаг 3 – Протестируйте пользовательский плагин

После загрузки папки, содержащей код плагина, в каталог wp-content > plugins моего тестового сайта и активации его на экране плагинов…

Экран плагинов — ссылка в меню активации Dummy Content Generator.
А теперь настал момент, которого мы все ждали [барабанная дробь]…
У меня фатальная ошибка!

Экран плагинов - сообщение о фатальной ошибке.
Какое разочарование… самая низкая точка в моей карьере разработки плагинов для WordPress!

Предполагая, что, возможно, я не добавил дополнительные фрагменты, предоставленные ChatGPT, я вернулся и попросил предоставить весь код в виде одного файла, который я мог бы просто скопировать и вставить, чтобы перезаписать и обновить загруженный файл плагина…

Скриншот запроса и ответа ChatGPT.
Почему он не мог просто дать мне весь код копирования и вставки в первый раз?

Нужно было вывести много кода, поэтому всякий раз, когда процесс останавливался, я давал ChatGPT команду продолжить…

Скриншот запроса и ответа ChatGPT.
ChatGPT иногда просто нужно слегка поощрить, чтобы продолжить работу.

Повторив этот процесс несколько раз, ChatGPT вывел весь код и даже предоставил некоторую полезную информацию.

Скриншот ответа ChatGPT.
Прождав целых 2 минуты… ChatGPT наконец-то вывел весь код плагина!

Я загрузил файл плагина с новым кодом на свой тестовый сайт, затем зашел в админку сайта и активировал плагин.

Это сработало! Или так казалось.

ChatGPT предоставил плагину собственный пункт меню…

Плагин Dummy Content Generator для WordPress, созданный ChatGPT
ChatGPT создал все это!

И экран настроек с множеством причудливых коробок и полей…

Экран настроек плагина Dummy Content Generator для WordPress.
Выглядит впечатляюще… но будет ли это работать?

Но я не видел поля, чтобы указать, сколько постов или страниц нужно создать, поэтому я просто поставил галочки в некоторых полях, ввел некоторые значения и нажал кнопку «Сохранить изменения», чтобы посмотреть, что произойдет.

Плагин Dummy Content Generator для WordPress, созданный ChatGPT
А теперь, момент истины…

И… абсолютно ничего не произошло!

Таблица сообщений WordPress, показывающая один пост «Hello world».
Самая новая нижняя точка в моей карьере разработки плагинов для 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, не обладая обширными знаниями в области кодирования»).

Итак, для «Take # 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 Posts с одной записью.
Пост по умолчанию с параметрами по умолчанию.

После активации плагина…

Экран плагинов WordPress — Активация дубликатора контента
«Активировать дубликатор контента» — звучит как фраза из фильма «Звездный путь».

Успех!

Экран плагинов WordPress — сообщение об активации плагина.
Бесполезный скриншот, подтверждающий, что плагин успешно активировался.

Плагин активирован. Но действительно ли это сработало?

Вот снова мой тестовый пост (обратите внимание, что после активации плагин добавил в меню новый пункт «Дублировать»). Затем я нажал «Дублировать», чтобы посмотреть, что произойдет…

Таблица сообщений WordPress — запись сообщения с новым повторяющимся элементом.
ChatGPT даже добавил в код всплывающую подсказку пункта меню «Дублировать»!

И дубликат сообщения был создан!

Пример дублированного поста WordPress.
Дубликат оригинального поста.

Вот таблица сообщений, показывающая записи для исходного и дублированного сообщения.

Таблица сообщений WordPress с исходным сообщением и дублированным сообщением.
Оригинальный пост и его клонированная версия.

Я уверен, что при более быстрой разработке и некоторой настройке кода плагин можно было бы значительно улучшить. Например, я бы предпочел, чтобы плагин устанавливал для недавно продублированного сообщения статус «черновик», а не публиковал его, но ChatGPT предоставил простой плагин WordPress, который работал. Это было элементарно, но это делало работу.

Последним шагом было попросить кого-то, кто зарабатывает на жизнь кодированием плагинов WordPress, тщательно изучить код и узнать их мнение об использовании такого инструмента, как ChatGPT, для кодирования плагинов.

Отзывы наших опытных разработчиков плагинов

Вскоре после загрузки плагина на один из наших каналов тестирования я получил сообщение от одного из наших разработчиков. Вот некоторые из ключевых моментов, представленных в их отзывах:

  • «ChatGPT и другие достойно отвечают на вопросы, на которые вы уже знаете ответ».
  • «В прошлом я также использовал его для создания простого плагина для себя, но пока я давал более сложные подсказки, он начинал путаться, поэтому в конце концов я вручную отлаживал данный код, чтобы он работал, потому что иначе он не работал. потребуется целая вечность, чтобы отладить его построчно».
  • «В принципе, он делает то, что говорит. Тем не менее, он делает то, о чем говорит, очень буквально. Например, он будет дублировать сообщение и соответствующие ему поля postmeta (настраиваемые). Однако не похоже, что он будет распространять какие-либо таксономии на дублированный пост (плагин должен копировать и назначать одни и те же термины таксономии, такие как категории или теги, из исходного поста в дублированный пост)».
  • Если бы я был очень придирчив к этому, я бы также упомянул, что он не готов к L10n — не будет возможности перевести этот плагин. Но это просто очень придирчиво — я действительно не думаю и не ожидаю, что плагин, сгенерированный подсказками, будет достаточно универсальным, чтобы вообще нуждаться в чем-то подобном. Для меня это скорее что-то вроде «очень конкретной проблемной области», включая используемый язык. В конце концов, он делает то, что говорит, и это очень приятно».

В дополнение к изучению кода плагина WordPress, созданного ChatGPT, и предоставлению отзывов, как показано выше, наши разработчики также согласились со следующими ключевыми моментами после оценки текущих возможностей 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, даже если у вас ограниченный опыт программирования.

В других статьях мы видели, что инструменты на основе ИИ, такие как ChatGP, могут упростить ваш рабочий процесс, повысить производительность и открыть новые возможности (ознакомьтесь с нашей недавней статьей о том, как ChatGPT может помочь вам как разработчику WordPress).

Несмотря на то, что доступно более 60 000 бесплатных плагинов WordPress, охватывающих все типы функций, которые вы только можете себе представить, иногда вам может понадобиться индивидуальное решение для удовлетворения конкретных требований клиента.

Помимо основной функциональности вашего плагина, вы также можете использовать ChatGPT для создания кода для пользовательских интерфейсов. Благодаря его способности понимать подсказки и генерировать фрагменты HTML, CSS и JavaScript, вы можете создавать интуитивно понятные интерфейсы администратора, интерфейсные компоненты и интерактивные элементы, которые улучшат взаимодействие с пользователем и позволят вам предоставить отточенный конечный продукт.

Используя возможности языковой модели, вы можете создавать фрагменты кода, оптимизировать функциональность и создавать удобные интерфейсы. Однако крайне важно понимать сгенерированный код, просматривать и улучшать его, а также тщательно тестировать свои пользовательские плагины, прежде чем развертывать их на своем работающем веб-сайте.

Сгенерированный код также может потребовать корректировки для приведения в соответствие со стандартами кодирования, соглашениями об именах или конкретными требованиями проекта. Это требует определенных знаний и навыков кодирования, а также оптимизации кода и обеспечения того, чтобы он соответствовал рекомендациям WordPress по кодированию для лучшей ремонтопригодности.

Нижняя линия:

Вот мои выводы после попытки заставить ChatGPT написать мне плагин с нуля:

  1. Я бы не справился с этим без помощи наших опытных разработчиков.
  2. Использование ChatGPT для генерации кода без знания программирования действительно сложно — это помогает знать, что вы делаете :)
  3. Хотя ChatGPT является мощным и ценным инструментом, не похоже, что ИИ в ближайшее время заменит квалифицированных программистов.

Заинтересованы в разработке плагинов для WordPress?

Ознакомьтесь с некоторыми из наших руководств и статей по разработке плагинов для WordPress:

  • Приступаем к разработке плагинов для WordPress
  • Краткое и подробное руководство по хукам WordPress
  • Создание плагинов WordPress объектно-ориентированным способом

Пробовали ли вы использовать инструменты искусственного интеллекта, такие как ChatGPT, для создания или настройки плагина WordPress? Поделитесь своими мыслями и опытом в комментариях ниже.