WordPress من وجهة نظر برمجية الجزء الثاني

WordPress من وجهة نظر برمجية الجزء الثاني

اليوم رح نتابع الجزء التاني من WordPress من وجهة نظر برمجية

الجزء الاول

المحتوى:

– القوالب themes

– اجزاء الصفحة partials

– صفحة البدء index.php

– صفحة التوابع function.php

– حلقة المنشوارت post loop

القوالب themes

تعا نشوف القوالب و شو الملفات و شو شغلة كل منها

فوت ع القوالب (مفترض صرت تعرف وينا) wp-content -> themes رح يطلعلك القوالب المنزلا عندك
فوت ع القالب يلي مشغلو حاليا لنشوف الملفات

هلأ كل قالب مختلف عن القالب التاني اكيد بس اذا شفت اكتر من قالب رح تشوف ملفات مشتركة ع الاقل بالاسم
طيب تعا نشرح ملف ملف

كل القوالب شو ماكانت لازم (شرط اجباري) من WordPress يكون فيا الملفين هدول style.css و index.php بالمجلد الاساسي يعني مالازم يكونو جوا ملف تاني و لازم يكونو بالاسم تحديدا

طيب شو هدول الملفين يلي كتير الزاميين ؟!
index.php رح نتركو لبعدين

sytle.css

هو ملف التنسيق هون بتحط ال css تبع القالب واذا فتحت اي قالب و شفت ملف ال style رح تشوف شي مشترك وهو التعليقات المحطوطة اول الملف!

بالفعل WordPress بيستعمل التعليقات يلي باول ملف ال sytle لتاخد معلومات عن القالب
متل اسم القالب و النسخة اسم المطور وصف القالب و الترخيص ….
وبتجي ع هل الشكل
/*
Theme Name: alphad
Theme URI: https://www.alphadsy.com/wordpress/
Author: alphad
Author URI: https://www.alphadsy.com/team/
Description: first WordPress theme.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: simple, clean, theme
*/

اكيد عندك سوال هو انا ما بحب حط ال css تبع الموقع بملف واحد مشلوح هيك  انا بدي اعمل مجلد css حط فيه الملفات مقسمة و منطمة بشكل حلو

معك حق WordPress مو كتير قوية من هل الناحية وصراحة مركزين كتير ع انو تكون سهلة و انيقة الاستخدام للمستخدم ع حساب المطور يلي بدو يشتغل زيادة

بس في حلول يعني فيك تعمل مجلد اسمو css تحط فيه قد ما بدك ملفات css واخر شي بس تخلص ع طريق اي ادارة عن الانترنت بتلم الملفات و بتحط النتيجة بملف واحد هو style.css

خيار تاني كتير مستعمل انو ببساطة ما تحط ال css ب ال style.css !
الWordPress بيجبرك تعمل ملف اسمو style.css بس … اغلب القوالب بتعمل الملف و بتحط فيه التعليقات الالزامية بس بتعمل مجلد css مستقل و بتحط فيه ملفات ال css بالشكل يلي بدا ياه

بالاخير ما تنسى الWordPress هو مجرد php يعني متل ما كنت تعمل بالعادة فيك تعمل هلأ

ملفات تانية مو الزامية بس رح تلاقيها بكل قالب

home.php

ملاحظة صفحة home مو الزامية و قليل تلاقيها بالقوالب

فتاح ملف ال home حط فيه اي شي مثلا hello world!! عمول حفظ و روح ع المتصفح و فوت ع الموقع رح يطلعلك hello world!! ال home هي الصفحة يلي بتدور عليها WordPress لما المستخدم بفوت ع الموقع يعني الصفحة الرئيسية للموقع

قبل ما كمل انا مفترض انك بتعرف شو يعني يطلب ملف و هل الحكي

اذا لأ ملخص سريع … لما المستخدم بيفتح المتصفح عندو الفيرفوكس مثلا و بيكتب بالرابط فوق URL اسم الموقع تبعك واو لما بفوت ع موقعك باي شكل تاني رابط او بحث غوغل يلي بصير انو المتصفح عندك بيبعت طلب get للمخدم server يلي محطوط عليه الموقع
الموقع في ملف route حكينا عنو اول شي رح يشوف شو الطلب ويقرر شو الرد المناسب (شرح كتير مبسط)
بحالتنا نحن فتنا ع الموقع يلي بعتنا طلب للمخدم السيرفر المحلي انو بدي الموقع
الWordPress رح تشوف انو المتسخدم بدو الصفحة الرئيسية وهل الشي يعني ردلو الصفحة يلي اسما home

404.php

كل القوالب فيها هل الصفحة يلي بظن شغلا معروف لو فرضنا المستخدم طلب صفحة مو موجودة مثلا فوت ع المتصفح و كتوب بعد اسم الموقع /asdasdasdada هل الصفحة اكيد مو موجودة و رح يطلعلك الحكي يلي موجود بصفحة ال 404

/ category.php / author.php / archive.php

هون كتير مهم تفهم كيف WordPress بيشتغل و كيف بدور ع الملفات
فوت ع الموقع واكيد رح يكون في شي بوست نازل مع القالب اذا ما في ضفلك كم بوست مشان نجرب عليهون و حط كل كم بوست بفئة و تاغ خاصة فيون

المهم باي بوست رح يكون محطوط اسم الفئة يلي هو منها مثلا هاد البوست هو بالفئة WordPress
و WordPress رح يعملك لحالو اسم االفئة رابط اذا كبست عليه رح ياخدك ع صفحة فيا كل البوستات من هل الفئة يعني كل البوستات تبع WordPress بحل الحالة
مو بس الفئة نفس الشي التاغ و اسم الكاتب يعني اذا كبست ع اسمي ع البوست رح يجبلك صفحة فيها كل البوستات يلي انا كاتبا

المهم تنتبه ع الصفحة يلي عم تطلع و الرابط يلي فوق كيف بيتغير من صفحة لصفحة حسب شو عم ينعرض
مثلا الصفحة يلي بنعرض فيها البوستات ضمن فئة معينة رح يكون الرابط category/category-name/

الصفحة يلي بنعرض فيها البوستات لكاتب معين رح يكون الرابط author/author-name/

WordPress رح يدور ع الصفحة ه هل الاساس يعني اذا كان الطلب عرض البوستات ضمن فئة بوستات مضحكة funny الWordPress رح يروح ع قاعدة البيانات يجيب بس هل البوستات و بما انو عم نحكي عن فئة رح يدور ع الصفحة category.php و يبعتلا البوستات لتعرضون
اذا البحث عن الكاتب الصفحة رح تكون author.php
واذا كان البحث حسب الارشيف (التاريخ) الصفحة رح تكون archive.php

فوت و جرب ع شي صفحة مثلا category.php وكتوب اولتا hellow world !! و فوت ع الموقع و كبوس ع شي فئة وشوف اذا رح يجبلك الصفحة الصح ولا لأ

ملاحظة بحالات كتير قليلة ما رح تلاقي صفحة category او author بالقالب لانو الWordPress تستعمل ال archive كصفحة افتراضية لهيك شغلات يعني اذا بدك نفس التصميم للتلاتة عمول صفحة وحدة هي archive.php

single.php

من الموقع فوت ع اي بوست بدك ياه رح تطلعلك صفحة فيها البوست كامل و شغلات اضافية متل التعليقات و البوستات المشابهة وهل الشغل

و ممكن تصميم الصفحة يختلف حسب نوع البوست يعني المقالة غير تصميم المنتج غير تصميم صحفحة الفيديو بس بالاخير WordPress بهيك حالة بحمل صفحة وحدة هي single.php

طيب كيف صفحة وحدة و التصميم ممكن يتغير حسب نوع البوست ؟!
فوت ع الصفحة و شوف الكود رح تشوف انو الصفحة ما بتعمل شي بس هي بتطلب صفحة تانية content.php حسب نوع البوست يعني بوست من نوع صورة رح يفتح الصفحة content-image.php واذا دورت بالقالب رح تلاقي كذا صفحة (جزء صفحة) ببلشو ب content بعدين – بعدين نوع البوست متل content-video content-link ….

هلا الكود يلي بشوف نوع البوست و يجيب الصفحة(جزء الصفحة) المناسبة موجود ب single.php هو

<?php get_template_part( ‘content’, get_post_format() ); ?>
get_post_format() بتجيب نوع البوست

اجزاء الصفحة

اذا مشتغل مواقع قبل اكيد بتعرف انو لازم تقسم المحتوى عندك لاكتر من صفحة مشان ما تكرر الكود نفسو بعشر محلات
و WordPress نفس الشي وبكل قالب رح تلاقي متل هل الصفحات

متل header.php و footer.php يلي هنون ال head و ال foot تبع الموقع يلي بيستعملون ع الاغلب بكل الصفحات
واذا فتت ع اي صفحة رح تلاقي مستعملين هل الجزء من خلال تابع get_header() و get_footer يلي بيجيب ال هيدر و الفوتر
في اجزاء تانية متل ال content يلي حكينا عنون قبل و في كمان ال sidebar القسم الجانبي و comments يلي هو قسم التعليقات و الفورم تبع التعليق

function.php

من اهم الصفحات باي قالب هي ال functions.php الصفحة من اسما هي صفحة التوابع بالقالب يعني كل القوالب يلي انت معرفا و مستعملا بالقالب او التوابع يلي بتستعملا WordPress مشان تعد القالب و تحدد الخصائص و الخيارات

وبالعادة بتكون كتيرة لهيك ولأنو هل الملف هو الملف يلي بدور عليه WordPress افتراضيا اغلب القوالب بكون ملف ال functions هو استدعاء لملفات تانية و بكونو موزعين التوابع ع اكتر ع ملف مشان التنظيم

index.php

 هي الملف الافتراضي يلي بتشغلو WordPress لما ما تلاقي ملف غيرو تشغلو
يعني حكينا قبل انو ال home هو الملف يلي بتدور عليه الWordPress لما حدا بفوت ع الصفحة الرئيسية بس بنفس الوقت اغلب القوالب ما عندا صفحة home

مثال تاني اذا طلبت البوستات يلي من كاتب معبن author/author-name/ صرنا منعرف انو الWordPress رح يدور ع صفحة author.php واذا ما لاقاها رح يدور ع الصفحة التانية archive.php بس كمان في قوالب هي الصفخات مو موجودة!

WordPress رح يدور ع الملف المطلوب بس اذا ما لاقاه ولا لاقى بديلو رح يستعمل ال index.php (يلي هي صفحة الزامية)
وهيك اذا كان عندك نفس التصميم و طريقة عرض البوستات بكل الصفحات وحابب تقلل مروة صفحة index بتمشي الحال

post loop

طيب صرنا قايلي كذا مرة الWordPress يتجيب البوستات يلي بدنا ياها و بتعرضا بالصفحة المناسبة طيب وين هل الحكي ؟
ب الphp اكيد بتعرف

while($row = $result->fetch_assoc()) {
ب WordPress في عندك
while ( have_posts() ) : the_post();

endwhile;

ورح تشوفا بكل صفحة فيها بوستات index , archive ,author, category ….

ما بظن بدا شرح … حلقة while عم تنفذ طول ما انو have_posts() عم ترد جواب ايجابي
يعني عم ترجع بوست وبس يخلصو البوستات بيرجع false وهيك بتوقف ال while هي من اساسيات الphp

جوا الحلقة متل اي موقع php بتحط يلي بدك ياه يعني ال html و بدك تجيب المعلومات من البوست كمان بشكل ديناميكي
يعني جوا الحلقة عملت <h1></h1> وبدك تحط جواتا عنوان البوست ب الphp كنت تعمل echo $row[‘post_name’]
هون ابسط و ارتب بس بتعمل the_title() بجبلك عنوان البوست و بيعرضو the_category() بيعرض فئة البوست وهيك هل قائمة باهم بالتوابع يلي فيك تطلبا جوا الحلقة

the_ID()
the_title()
get_the_title()
the_content()
the_meta()
the_tags()
the_category()
the_excerpt()
the_date()
the_search_query()
the_shortlink()
next_image_link()
next_post_link()
previous_image_link()
previous_post_link()

بظن مبينبن من اسمو جرب وشوف شو بيعطوك طبعا لسا في غيرون وفي لسا توابع للفئات والتعليقات و غيرو بس انا مليت من الكتابة لهيك رح خليك تتعلمون لحالك فوت ع صفحة ال category مثلا وشوف شو التابع يلي عطاه اسم الفئة يلي نحن فيها او مثلا فوت ع صفحة single وشوف شو التابع يلي جاب التعليقات تبع البوست يلي عم ينعرض
مفترض تعرف لحالك اغلب الملفات html , php اساسية

اقتراح طلب مقالة

– عندي تعليق او سؤال بالتعليقات تحت
– خريج جديد و ما حدا عم يوظفك لانو ما عندك خبرة وحدة من الشغلات يلي فيك تعملا تحتب او تصور دروس تجربية متل هي و تنشرا اول شي بتتعلم شغلات جديدة ممكن تفيد عالم تانية و مشان يصير عندك شي تحطو ب ال cv
لهيك اذا عندك مقالة بمجال برمجي فيك تبعتلنا ياها و منزلا باسمك و منحطلك رابط و يلي بدك ياه