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

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

اليوم رح نحكي عن WordPress من وجهة نظر برمجية يعني هل المقال للعالم يلي حابين يصيرو مطورين WordPress

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

المحتوى:

رح نقسم المقال لجزئين

– الملفات folder structure

– قاعدة البيانات database

الجزء التاني

– القوالب themes

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

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

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

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

ملاحظة يفضل اذا تكون عم تقرا و تجرب تفتح الملفات يلي عم احكي عنا و تمشي مع الشرح

الملفات folder structure

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

الWordPress حجم الملف مظغوط حوالي9 ميغا و 25 ميغا بعد فك الضغط صراحة كنت مفكر الرقم اقل من هيك بكتير

الملفات بالودربرس مقسمة لاربع اقسام 3 مجلدات (wp-admin , wp-content , wp-include) و قسم رابع هو كومة ملفات مفلوتة بلا مجلد
خلينا نبلش بالملفات يلي محطوطة بلا مجلد

index.php

اكيد اول ملف رح نروح عليه هو ال index.php
ملف ال index هو متل كل الفريمورك التانية مجرد نقطة دخول او بداية يعني هو الملف يلي بتفوت عليه اول شي و مهمتو الوحيدة يبلش الشغل

وبالفعل ملف ال index عم يعمل شغلة وحدة بس وهي عم يستدعي ملف اسمو wp-blog-header وهو كمان من الملفات يلي اول شي بلا مجلد طيب خلينا نروح نشوف هداك الملف شو عم يشتغل

wp-blog-header

جوا الملف مبين من التعليقات المحطوطة (كل ملفات الWordPress فيا تعليقات بتشرحلك بشكل مختصر شو التعليمة او الملف عم يعمل) انو الملف بيعمل تلت تعليمات اساسية اول شي بيستدعي ملف اسمو wp-load

wp-load يلي من اسمو و من التعليق يلي محطوط فوقو مهمتو يسدعي ملفات ودربرس الاساسية

الشغلة التانية بعد ما استدعينا الملفات لازم نبلش الودربرس وهي مهمة التابع wp واخر شي عم نستدعي ملف اسمو template-loader.php وهاد الملف موجود جوا المجلد wp-include

اوكي شو بدنا نتعلم هون اول شي المجلد wp-include هو المجلد يلي ملفات WordPress الاساسية ال core موجودة فيه

اتنين الملف يلي استدعيناه اول شي wp-load وقلنا عنو بييسدعي ملفات WordPress صراحة مو هو يلي بيسدعي الملفات هو بيسدعي ملفين تانيات هنون ال wp-config و wp-setting يلي بيستدعي عنجد كل الملفات

الملفين موجودين كمان اول شي و wp-config هو الملف يلي في اعدادات WordPress الاعدادات يلي دخلتا اول شي لما شغلت WordPress اسم قاعدة البيانات اسم المستخدم و هيك شغلات طبعا في اعدادت تانية فيك تفوت ع الملف و تشوفا وتعدل اذا بدك متل اذا بدك

template-loader

الملف يلي حكينا عنو و قلنا موجود بملفات WordPress الاساسية ب wp-include ها الملف اذا فتت عليه هو ملف ال route

اذا ما كنت بتعرف شو يعني route هو الملف يلي بيقرا المسار يلي طالبو المستخدم و بحدد الملف يلي بدو يحملو مثلا وبشكل مبسط اذا المستخدم فات ع الرابط website-name.com/category/worpress هل الشي يعني انو المستخدم بدو كل البوستات يلي ضمن فئة الWordPress

هلأ ال routre و المسارات موضوع كتير مهم و رح نرجع نحكي فيه بالتفصيل

المهم مشان نخلص الملفات يلي برا في لسا كذا ملف يلي ممكن تكون مهتم تشوفون هنون ال wp-singup , wp-login يلي هنون ملفات تسجيل مستخدم و تسجيل الدخول يلي منا بتفوت ع لوحة التحكم

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

المجلد التاني هو wp-admin

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

مثلا اذا كبست الاضافات plugins الرابط رح يكون wp-admin/plugins.php يعني الصفحة يلي اسما plugins بمجلد ال wp-admin نفس الشي اذا كبست ع الاعدادات العامة setting -> general رح يكون الرابط wp-admin/options-general يعني الصفحة يلي اسما options-general بالمجلد wp-admin

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

المجلد الاخير و كل شغلك فيه هو wp-content

المجلد فيه كل المحتوى تبع المدونة

جوا هي المجلد فو كمان مجلدات متل themes من اسم المجلد مبن شو المحتوى اذا فتحت المجلد رح تلاقي جواته مجلدات تانية هي اسماء القوالب يلي نزلتا وكل ما نزلت قالب جديد رج تلاقيه هون

نفس الشي مجلد plugins رح تلاقي كل الاضافات يلي منزلا

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

ملف تالت اسمو ال upload هون كل الملفات يلي بحملا المستخدم متل الصور الفيديو و غيرو

المهم اذا ضعت بدي ياك تركز ع المهم … المهم انك تعرف ع القليلة وين كل ملف موجود مثلا ال قوالب موجودين ضمن wp-content/themes الاضافات ضمن wp-content/plugins صفحة التحكم ضمن ال wp-admin و بس حاليا

قاعدة البيانات databas

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

اول جدول اسمو users من اسمو مبين في المعلومات الاساسية عن المستخدمين
الجدول التاني usermeta فيه المعلومات الاضافية عن المستخدمين

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

يعني بجدولين لمينا كل المنتجات يلي ممكن تكون من 15 نوع و كان ممكت يكون بدا 15 جدول!

الجدول التالت اسمو terms (الفئات و التاغات) و جدول ال meta يلي فيه معلومات اضافية termmeta

جدول التعليقات comments و جدول المعلومات الاضافية commentmeta

جدول الاعدادات options هي القيم يلي بتدخلا ب الsetting من لوحة التحكم

خيو انا كا فهمت قصة ال meta والمعلومات الاضافية هي ؟!

طيب رح نعطيك مثال تاني من WordPress
البوستات المقالات و الصفحات
بتقلي بسيطة عمول جدول للصفحات في معلومات الصفحة من الاسم و المحتوى و الرابط و ….
و جدول للمنشورات في الاسم و المحتوى و الرابط و …..

طيب بلكي كان الموقع كمان في منتجات
بسيطة منعمل جدول جديد للمنتجات في اسم المنتج و المعلومات ..

هلأ واضح انو هاد مو حل لانو ممكن تم من هلا لبكرا اعطيك امثلة متل هي (صور فيديو ….) و مو حل كل مرة تعمل جدول جديد! لانو هل الشي يعني وقت اكبر بكتير لتلاقي المعلومة وضغط ع المعالج ع الفاضي

لهيك الحل نلم كل المعلومات المشتركة بين هدول و نحطون بجدول

ب WordPress حاطين المنشوات بكل انواعا و الصفحات ب جدول واحد سمو posts في المعلومات المشتركة متل الاسم و المحتوى و التاريخ … وفي عامود اسمو post-type ليميز الصفحات من المنشورات من غيرو

هلأ المعلومات غير المشتركة بين كل العناصر متل القالب للصفحة و السعر للمنتج و الصورة للبوست
بينحط بجدول اسمو postmeta ع شكل ثنائية اسم المعلومة meta_key و المعلومة meta_value

هيك بنكون عملنا لفة سريعة ع قاعدة البيانات

هيك يكون خلص الجزء الاول من المقال وشكرا!

المقال التالي

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