هل يمكن لـ ChatGPT إنشاء مكون إضافي مفيد لـ WordPress يعمل بالفعل؟
نشرت: 2023-05-22هل يمكن لمنظمة العفو الدولية تحويل غير المبرمجين إلى مطوري إضافات WordPress محترفين؟ لمعرفة ذلك ، طلبنا من ChatGPT إنشاء مكون إضافي مخصص لبرنامج WordPress من البداية ، ثم طلبنا من فريق الكراك لدينا من المطورين فحص الكود ...
الذكاء الاصطناعي هو الكلمة المكونة من حرفين الأكثر شيوعًا في العالم في الوقت الحالي. مع كل عناوين الأخبار الأخيرة حول ما إذا كان الذكاء الاصطناعي سيأخذ وظائفنا ، أردنا أن نعرف ... هل يستطيع ChatGPT بالفعل تطوير مكون إضافي وظيفي ومفيد في WordPress دون الحاجة إلى كتابة تعليمات برمجية من البداية؟ وهل يفي المكون الإضافي بأفضل ممارسات الترميز؟
لحسن الحظ ، ينشئ WPMU DEV بعضًا من أقوى مكونات WordPress الإضافية في العالم ، لذلك لدينا الكثير من مطوري مكونات WordPress الخبراء الذين يمكنهم اختبار ChatGPT.
في الواقع ، إذا قمت بجولة في الممرات الافتراضية لشركتنا ، فلا يسعك إلا أن تصطدم بمبرمجي ومطوري WordPress. يبدو أن الجميع هنا يمكنهم إلقاء نظرة على مكون WordPress الإضافي ورؤية PHP بالطريقة التي يرى بها Neo كود المطر الرقمي الخاص بـ Matrix.
الجميع ، هذا ... ما عدا أنا!
أنا مجرد كاتب مدونة ليس لدي أي مهارات في البرمجة ولدي رغبة شديدة في إضافة "مهندس سريع" إلى سيرتي الذاتية.
لذلك ، في هذا المنشور ، سوف نستكشف كيفية الاستفادة من قوة ChatGPT لإنشاء مكون إضافي بسيط ووردبريس مخصص بسرعة وأمان ، حتى إذا كنت تفتقر إلى مهارات تشفير واسعة النطاق.
سنفعل ذلك من خلال:
1) مطالبة ChatGPT بإنشاء رمز مكون إضافي مفيد يمكننا اختباره ، و
2) تشغيل الكود الذي تم إنشاؤه بواسطة ChatGPT بعد فريق مطوري المكونات الإضافية المحترفين لدينا حتى يتمكنوا من مراجعته وتقديم ملاحظاتهم الصادقة.
سنغطي ما يلي:
- الخطوة 1 - تحديد وظائف البرنامج المساعد
- الخطوة 2 - إنشاء مقتطفات التعليمات البرمجية باستخدام ChatGPT
- الخطوة 3 - اختبر البرنامج المساعد المخصص
- ردود الفعل من مطوري البرنامج المساعد الخبراء لدينا
- هل يمكن أن يحولك ChatGPT إلى مطور WordPress Plugin؟
الخطوة 1 - تحديد وظائف البرنامج المساعد
قبل استخدام ChatGPT لإنشاء رمز ، نحتاج إلى فهم واضح للوظيفة التي نريد أن يوفرها المكون الإضافي الخاص بنا.
يبدأ هذا من خلال تحديد الميزات أو الإجراءات أو التعديلات المحددة التي نريد تحقيقها باستخدام المكون الإضافي الخاص بنا. سيساعدنا ذلك بعد ذلك في إنشاء مطالبات دقيقة لـ ChatGPT والتأكد من أن الكود الذي تم إنشاؤه بواسطة AI يتوافق مع النتائج المرجوة.
الخطوة 2 - إنشاء مقتطفات التعليمات البرمجية باستخدام ChatGPT
لإنشاء مقتطفات الشفرة الخاصة بنا باستخدام ChatGPT ، سنبقي الأمور بسيطة (ومجانية) ونستخدم الواجهة المتاحة مجانًا التي توفرها OpenAI.
تأخذ 1…
ملاحظة: كانت محاولتي الأولى في استخدام ChatGPT لإنشاء مكون إضافي لبرنامج WordPress من البداية طموحة للغاية. طلبت من ChatGPT أن يبني لي WordPress بسيطًا السفر عبر الزمن مكون إضافي لإنشاء نص وهمي ، باستخدام الموجه أدناه ...
بصفتي شخصًا يقضي الكثير من الوقت في كتابة دروس WordPress التعليمية ، غالبًا ما أحتاج إلى محتوى وهمي لاختبار المكونات الإضافية ، وإنشاء لقطات شاشة ، وما إلى ذلك.
لذلك ، اعتقدت أنه سيكون من الرائع تصميم المكون الإضافي للمحتوى الوهمي الذي أنشأته منظمة العفو الدولية على مكون إضافي غالبًا ما أستخدمه يسمى FakerPress.
رفض ChatGPT طلبي وأخبرني أن إنشاء مكون إضافي لبرنامج WordPress يعمل بكامل طاقته مع جميع الميزات التي طلبتها كان خارج نطاق استجابة واحدة.
ومع ذلك ، فقد عرضت تزويدني بنموذج أساسي ، وإرشادي حول كيفية تنفيذ بعض الميزات التي ذكرتها ، بل وأعطتني إرشادات حول كيفية إنشاء دليل وملف مكون إضافي ...
في البداية ، بدا رمز إخراج ChatGPT مثيرًا للإعجاب ...
يقوم ChatGPT أيضًا بإخراج جميع الكود الإضافي المطلوب لإكمال الخطوات التالية.
باستخدام إخراج كود المكون الإضافي ، كانت الخطوة التالية هي تحميل المكون الإضافي إلى موقع الاختبار الخاص بي واختباره للتأكد من أنه يعمل.
الخطوة 3 - اختبر البرنامج المساعد المخصص
بعد تحميل المجلد الذي يحتوي على رمز المكون الإضافي إلى wp-content > plugins
في موقع الاختبار الخاص بي وتفعيله داخل شاشة الملحقات ...
لقد حصلت على خطأ فادح!
بافتراض أنني ربما لم أقم بإضافة المقتطفات الإضافية التي قدمها ChatGPT بشكل صحيح ، فقد عدت وطلبت تقديم جميع التعليمات البرمجية كملف واحد يمكنني ببساطة نسخه ولصقه للكتابة فوق ملف المكون الإضافي الذي تم تحميله وتحديثه ...
كان هناك الكثير من التعليمات البرمجية التي يجب إخراجها ، لذلك كلما توقفت العملية ، أصدرت تعليمات لـ ChatGPT بالمتابعة ...
بعد تكرار هذه العملية عدة مرات ، أخرج ChatGPT الكود بالكامل وحتى قدم بعض المعلومات المفيدة.
لقد قمت بتحميل ملف المكون الإضافي بالرمز الجديد إلى موقع الاختبار الخاص بي ، ثم قفزت إلى منطقة إدارة الموقع وقمت بتنشيط المكون الإضافي.
انها عملت! أو ، هكذا بدا الأمر.
أعطى ChatGPT المكون الإضافي عنصر القائمة الخاص به ...
وشاشة إعدادات بها الكثير من الصناديق والحقول الفاخرة ...
لكن لم أتمكن من رؤية حقل لتحديد عدد المنشورات أو الصفحات المراد إنشاؤها ، لذلك قمت ببساطة بتحديد بعض المربعات ، وإدخال بعض القيم ، والنقر فوق الزر "حفظ التغييرات" لمعرفة ما يحدث.
و ... لم يحدث شيء على الإطلاق!
كان المكون الإضافي الرائع الخاص بي مجرد تخيل ، تمامًا مثل إحدى سفن الفضاء في ملاعب الأطفال المليئة بمقابض عديمة الفائدة يمكنك تشغيلها وأزرار يمكنك الضغط عليها أثناء التظاهر بالطيران في الفضاء الخارجي.
لذلك ، تواصلت مع أحد مطورينا عبر 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 بـ ...
أعجبني الاقتراح الأخير ، لذلك طلبت من ChatGPT إنشاء رمز لمكوِّن إضافي لنسخ المحتوى الوظيفي ، وبدء العمل فورًا.
أنشأ 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' );
حتى أنها قدمت مجموعة من التعليمات بعد إنشاء الكود.
بعد ذلك قمت بتحميل ملف البرنامج المساعد الجديد إلى دليل wp-content > plugins
في موقع الاختبار الخاص بي باستخدام مدير ملفات Hub.
وأنشأت منشورًا وهميًا لاختبار المكون الإضافي باستخدام ...
فيما يلي خيارات قائمة المنشور قبل تنشيط المكون الإضافي ...
بعد تنشيط المكون الإضافي ...
نجاح!
تم تنشيط المكون الإضافي. لكن هل نجحت بالفعل؟
إليك منشور الاختبار الخاص بي مرة أخرى (لاحظ أن المكون الإضافي أضاف عنصر "مكرر" جديد إلى القائمة بعد التنشيط). ثم قمت بالنقر فوق "تكرار" لمعرفة ما سيحدث ...
وتم إنشاء منشور مكرر!
فيما يلي جدول المشاركات الذي يعرض إدخالات المنشور الأصلي والمكرر.
أنا متأكد من أنه مع الهندسة السريعة الأفضل وبعض التعديلات والتبديل في التعليمات البرمجية ، كان من الممكن تحسين المكون الإضافي بشكل كبير. على سبيل المثال ، أفضل ما إذا كان المكون الإضافي قد عيّن حالة النشر للمنشور المكرر حديثًا إلى "مسودة" بدلاً من نشره ، لكن ChatGPT قدّم مكوّنًا إضافيًا بسيطًا في WordPress يعمل. كانت أساسية ، لكنها قامت بالمهمة.
كانت الخطوة الأخيرة هي أن تطلب من شخص يقوم بتشفير مكونات WordPress الإضافية لكسب لقمة العيش أن يقوم بفحص الشفرة والحصول على رأيهم حول استخدام أداة مثل ChatGPT لتشفير المكونات الإضافية.
ردود الفعل من مطوري البرنامج المساعد الخبراء لدينا
بعد فترة وجيزة من تحميل المكون الإضافي إلى إحدى قنوات الاختبار لدينا ، تلقيت اختبار ping من أحد مطورينا. فيما يلي بعض النقاط الرئيسية الواردة في ملاحظاتهم:
- "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 for WordPress ، من المفيد التفاعل مع مجتمع WordPress. شارك تجاربك ، واطلب التعليقات ، واطلب التوجيه من المطورين ذوي الخبرة. يمكن أن توفر المشاركة في المنتديات أو حضور اجتماعات WordPress أو الانضمام إلى المجتمعات عبر الإنترنت رؤى قيمة وتساعدك على تحسين عملية تطوير المكون الإضافي الخاص بك.
- بالإضافة إلى ذلك ، ضع في اعتبارك اتباع أفضل ممارسات أمان WordPress لحماية موقع الويب الخاص بك من نقاط الضعف المحتملة. يمكن أن يوفر ChatGPT توصيات بشأن إجراءات الأمان التي يمكنك تنفيذها لحماية المكون الإضافي الخاص بك.
- من الضروري أيضًا الحفاظ على فهم واضح للوظائف المطلوبة ومراجعة واختبار الشفرة التي تم إنشاؤها بدقة وتأمين المكونات الإضافية المخصصة قبل نشرها في بيئة الإنتاج.
هل يمكن أن يحولك ChatGPT إلى مطور WordPress Plugin؟
في هذه المقالة ، اكتشفنا كيف يمكنك استخدام ChatGPT لإنشاء إضافات WordPress مخصصة بسيطة ، حتى لو كانت لديك تجربة ترميز محدودة.
في مقالات أخرى ، رأينا أن الأدوات التي تعمل بالذكاء الاصطناعي مثل ChatGP يمكنها تبسيط سير عملك ، وزيادة الإنتاجية ، وإطلاق العنان لإمكانيات جديدة (راجع مقالتنا الأخيرة حول الطرق التي يمكن أن يساعدك بها ChatGPT كمطور WordPress).
في حين أن هناك أكثر من 60.000 من مكونات WordPress المجانية المتاحة والتي تغطي كل نوع من الوظائف التي يمكنك تخيلها ، فقد تحتاج في بعض الأحيان إلى حل مخصص لتلبية متطلبات العميل المحددة.
بالإضافة إلى الوظائف الأساسية للمكون الإضافي الخاص بك ، يمكنك أيضًا الاستفادة من ChatGPT لإنشاء رمز لواجهات المستخدم المخصصة. من خلال قدرته على فهم المطالبات وإنشاء مقتطفات HTML و CSS وجافا سكريبت ، يمكنك إنشاء واجهات مشرف سهلة الاستخدام ومكونات الواجهة الأمامية وعناصر تفاعلية من شأنها تحسين تجربة المستخدم وتتيح لك تقديم منتج نهائي مصقول.
من خلال الاستفادة من إمكانات نموذج اللغة ، يمكنك إنشاء مقتطفات من التعليمات البرمجية وتحسين الوظائف وإنشاء واجهات سهلة الاستخدام. ومع ذلك ، من الضروري فهم الكود الذي تم إنشاؤه ومراجعته وصقله واختبار المكونات الإضافية المخصصة بدقة قبل نشرها على موقع الويب المباشر الخاص بك.
قد يتطلب الرمز الذي تم إنشاؤه أيضًا تعديلات للتوافق مع معايير الترميز أو اصطلاحات التسمية أو متطلبات المشروع المحددة. يتطلب هذا قدرًا معينًا من المعرفة والمهارات الخاصة بالشفرة ، وكذلك تحسين الكود والتأكد من اتباعه لإرشادات ترميز WordPress لتحسين إمكانية الصيانة.
الخط السفلي:
فيما يلي النتائج التي توصلت إليها بعد محاولة الحصول على ChatGPT لترميز لي مكونًا إضافيًا من البداية:
- لم أتمكن من القيام بذلك بدون مساعدة المطورين ذوي الخبرة لدينا.
- يعد استخدام ChatGPT لإنشاء تعليمات برمجية بدون معرفة بالشفرات أمرًا صعبًا حقًا - فهو يساعد في معرفة ما تفعله :)
- بينما تعد ChatGPT أداة قوية وقيمة ، لا يبدو أن الذكاء الاصطناعي سيحل محل المبرمجين المهرة في أي وقت قريب.
هل أنت مهتم بتطوير مكونات WordPress الإضافية؟
تحقق من بعض البرامج التعليمية والمقالات الخاصة بنا حول تطوير مكون WordPress الإضافي:
- الشروع في تطوير البرنامج المساعد WordPress
- دليل سريع ومتعمق لخطافات WordPress
- إنشاء إضافات WordPress بطريقة موجهة للكائنات