PHP web development beginner

PHP للجميع: لمسات حية تجعل موقعك أذكى بدون خبرة برمجية

|

PHP ليست لغة مخيفة — هي المساعد الذكي الذي يُشغّل ووردبريس نفسه. تعلّم لمسات فورية: تحية حسب الوقت، تحديث سنة الحقوق تلقائياً، والتعامل مع functions.php بثقة.

عدد الكلمات: ~١٨٠٠ · مدة القراءة: ٩ دقائق

PHP للجميع

اللغة التي تُشغّل ووردبريس نفسه — وليست بالمخيفة التي تظنها


ملاحظة للقارئ: هذا المقال مستقلٌ ويمكنك تطبيق كل ما فيه حتى لو لم تقرأ مقالاتٍ سابقة. لكن إذا كنت قد وصلت لمرحلة الاستضافة المستقلة وتريد السياق الكامل، فراجع مقالتنا: الموقع المستقل: FTP وسي بانيل.

في اللحظة التي فتحت فيها لوحة تحكم ووردبريس لأول مرة، كانت PHP تعمل خلف الكواليس دون أن تعرف. كل صفحة تراها، وكل مقال يظهر، وكل قائمة تتشكّل، كلها نتيجة كود PHP يعمل على خادمك قبل أن يصل أي شيءٍ لمتصفح الزائر. في هذا المقال من منصة ذي يزن، سنتعلم سويةً أن PHP ليست لغةً برمجيةً مرعبة، بل مساعدٌ ذكيٌ يعيش داخل موقعك، ويمكنك إعطاؤه تعليماتٍ مفيدةٍ بأسطر قليلةٍ جداً.

blogger creating website

PHP والـ HTML — الفرق الجوهري

تذكّر أن HTML تكتبها مرةً واحدةً وتبقى كما هي: كتبت “مرحباً” فظهرت “مرحباً” لكل زائرٍ في كل وقت. أما لغة PHP مختلفةٌ في فكرتها الجوهرية: الكود يعمل على الخادم أولاً، يُفكّر ويُقرّر، ثم يُرسل HTML جاهزةً للمتصفح.

تخيّل موظف استقبالٍ ذكياً عند مدخل فندق: لا يقول لكل ضيف الجملة نفسها، بل ينظر إلى الساعة ويقول “صباح الخير” أو “مساء الخير” أو “مرحباً بعودتك” بحسب الحال. HTML هي اللافتة الثابتة على الجدار، وPHP هو موظف الاستقبال الذكي.

وهذا بالضبط ما سنبني معاً كأول تمرين.

أين يختبئ الخطأ في PHP — قبل أي كود

كما تعلمنا في مقال جافا سكريبت أن نفتح Console قبل الكتابة، في PHP نفتح مكاناً مختلفاً: إذا أخطأت في كود PHP فالخطأ يظهر في الصفحة نفسها كنصٍ أحمر أعلاها، أو تظهر صفحةٌ بيضاءٌ فارغةٌ تماماً (وهذا ما يُسمى “الموت الأبيض” أو White Screen of Death عند مطوّري ووردبريس). الحل الفوري: افتح سي بانيل وابحث عن Error Logs، فستجد فيه تفاصيل كل خطأ مع رقم السطر المسبّب له.

إذا واجهت الشاشة البيضاء يوماً: لا تذعر. افتح ملف functions.php من سي بانيل، واحذف آخر سطر أضفته، واحفظ.. في ٩٠٪ من الحالات ستعود الحياة للموقع فوراً.

أول لمسة — تحية تتغيّر بتغيّر الوقت

لنبدأ بملف PHP مستقلٍ لنفهم الفكرة قبل الدخول لووردبريس. أنشئ ملفاً باسم greeting.php وضعه في مجلد public_html على خادمك عبر FileZilla أو مدير ملفات سي بانيل:

<!DOCTYPE html>
<html lang="ar" dir="rtl">
<head>
  <meta charset="UTF-8">
  <title>تحية ذكية</title>
</head>
<body>

<?php
  // PHP تسأل الخادم: الآن كم الساعة؟
  $hour = (int) date('H');   // رقم من 0 إلى 23

  if ($hour >= 5 && $hour < 12) {
    $greeting = "صباح الخير";
  } elseif ($hour >= 12 && $hour < 18) {
    $greeting = "مساء الخير";
  } else {
    $greeting = "مساء النور";
  }
?>

  <h1><?php echo $greeting; ?> — أهلاً بك في موقعي</h1>
  <p>الوقت الآن على الخادم: <?php echo date('H:i'); ?></p>

</body>
</html>

ارفع الملف وافتح رابطه في متصفحك: https://yoursite.com/greeting.php. ستجد تحيةً تتغيّر بتغيّر وقت الخادم. لا سحر، إنما فقط PHP تسأل الخادم عن الوقت وتُقرّر ماذا تقول.

اقرأ الكود بالعربية: <?php تعني “ابدأ تنفيذ PHP من هنا”، و?> تعني “انتهى PHP، عُد للـ HTML”. كل ما بينهما يعمل على الخادم قبل أن يصل شيءٌ للزائر. وecho تعني ببساطة “اطبع هذا في الصفحة”.

اللمسة الثانية — سنة حقوق النشر تتحدث عن نفسها

في تذييل كل موقع تجد “© 2024” أو ما شابه. كثيرون ينسون تحديثها مع بداية كل عام. PHP تحلّ هذه المشكلة مرة واحدة وإلى الأبد:

<footer>
  <p>منصة ذي يزن © <?php echo date('Y'); ?></p>
</footer>

سطر واحد. date('Y') تسأل الخادم عن السنة الحالية وتطبعها تلقائياً — ٢٠٢٦ هذا العام، ٢٠٢٧ العام القادم، دون أن تتذكر تغيير شيء.

ملف functions.php — قلب تخصيص ووردبريس

هنا تبدأ الفائدة الحقيقية لمن يستخدم ووردبريس. ملف functions.php هو ملف PHP موجودٌ في كل قالب ووردبريس، وهو المكان الذي يضع فيه المطوّرون الوظائف الإضافية التي يريدونها في موقعهم. تخيّله كدفتر تعليماتٍ خاصٍ تقوله لووردبريس عند كل تحميلٍ للصفحة.

أين تجده؟ في لوحة تحكم ووردبريس: المظهر ← محرر الملفات ← اختر functions.php. أو عبر سي بانيل: public_html/wp-content/themes/اسم-قالبك/functions.php.

تحذيرٌ مهمٌ قبل التعديل: دائماً احتفظ بنسخة من الملف قبل أي تغييرٍ، انسخ محتواه وألصقه في ملفٍ نصيٍ على حاسوبك. وإذا كان موقعك حياً ويزوره ناس، عدّل في وقتٍ هادئ.

مثالٌ أول: إضافة CSS مخصص بالكود

بدلاً من تعديل تنسيق CSS للقالب مباشرةً (وخسارة التعديل مع كل تحديث)، يُضيف المطوّرون CSS مخصصاً عبر functions.php بطريقةٍ تبقى محمية:

// أضف هذا في نهاية ملف functions.php
function my_custom_styles() {
    wp_enqueue_style(
        'my-custom-css',
        get_stylesheet_directory_uri() . '/custom.css'
    );
}
add_action( 'wp_enqueue_scripts', 'my_custom_styles' );

هذا يقول لووردبريس: “في كل مرةٍ تُحمّل فيها الصفحة، أضف ملف CSS اسمه custom.css من مجلد القالب”. الملف يبقى منفصلاً ومحمياً.

مثالٌ ثانٍ: إخفاء شريط الأدوات عن الزوار

ووردبريس يُظهر شريط أدواتٍ أعلى الصفحة للمستخدمين المسجّلين، وأحياناً تريد إخفاءه عن غير المسؤولين:

// أخفِ شريط الأدوات لغير المسؤولين
add_filter( 'show_admin_bar', function( $show ) {
    return current_user_can( 'administrator' ) ? $show : false;
});

اقرأها: “عدّل قرار إظهار شريط الأدوات، إذا كان المستخدم مسؤولاً أبقِه، وإلا أخفِه”. سطران يُغنيان عن إضافةٍ كاملة.

مثالٌ ثالث: رسالة ترحيبٍ في لوحة التحكم

لمسةٌ شخصيةٌ لطيفةٌ إذا كنت تُدير موقع عميلٍ وتريد أن تبدو لوحة التحكم أكثر ترحيباً:

function my_dashboard_greeting() {
    $hour = (int) date('H');
    $greeting = ( $hour < 12 ) ? 'صباح الخير' : 'مساء الخير';
    echo '<div class="notice notice-info">
            <p>' . $greeting . ' — أهلاً بك في لوحة تحكم موقعك 👋</p>
          </div>';
}
add_action( 'admin_notices', 'my_dashboard_greeting' );

قواعد العمل مع functions.php

ثلاث قواعد تجنّبك معظم المشكلات:

القاعدة الأولى: استخدم قالباً فرعياً (Child Theme): حين تُحدّث قالبك، يُستبدل ملف functions.php بنسخةٍ جديدةٍ وتضيع تعديلاتك. القالب الفرعي يحتوي functions.php خاصاً به يبقى سليماً مع التحديثات. معظم إضافات إنشاء القوالب الفرعية مجانيةٌ وتعمل بنقرة.

القاعدة الثانية: لا تحذف أي شيءٍ لا تفهمه: الكود الموجود في functions.php وضعه أصلاً مطوّر القالب لسببٍ ما. أضف في نهاية الملف ولا تحذف من الأعلى.

القاعدة الثالثة: كل وظيفةٍ لها اسمٌ فريد: إذا أضفت وظيفتين بنفس الاسم، سيتوقف الموقع. اجعل أسماء وظائفك مميزةً بإضافة بادئةٍ خاصةٍ بك — مثل zy_ أو mysite_ في البداية.

لا أحد يحفظ دوال PHP عن ظهر قلب

كما قلنا في مقال جافا سكريبت، ونُعيده هنا لأنه في PHP أكثر إلحاحاً: التوثيق الرسمي لـ PHP على php.net وتوثيق ووردبريس على developer.wordpress.org هما مرجعاك الدائمان. المطوّر المحترف يبحث فيهما عشرات المرات يومياً. الهدف أن تعرف ماذا تريد أن تفعل، أما البحث عن الدالة المناسبة فهو تفصيلٌ يأتي بعد ذلك.

لغة PHP كمساعدٍ ذكيٍ لا تحتاج أن تعرف كل قدراته، إنما تحتاج أن تعرف متى تطلب منه مساعدةً وكيف تصف ما تريد.

PHP web development beginner

 


خلاصة المقال والخطوة القادمة

تعلمنا سويةً أن PHP ليست لغةً غريبة وصعبة، بل هي المحرك الذي يُشغّل ووردبريس من اليوم الأول، وتعاملنا معها بالفعل دون أن ندري. وأضفنا ثلاث لمساتٍ حية: تحيةٌ تتغيّر بالوقت، وسنة حقوق نشرٍ تتحدّث عن نفسها، ووظائف تُخصّص ووردبريس دون إضافاتٍ زائدة. هذه اللمسات الصغيرة هي ما يُفرّق بين موقعٍ جاهزٍ من قالبٍ وموقعٍ يحمل بصمة صاحبه.

الخطوة التالية الموصى بها:

PHP أعطتنا لمسات حية على مواقع قائمة، لكن ماذا لو أردت بناء موقعٍ ديناميكيٍ كاملٍ من الصفر بلغةٍ أكثر مرونةً وحداثةً؟ في المقال التالي ننتقل لبايثون وإطار عمل فلاسك: المواقع الديناميكية: استخدام بايثون لبناء مواقع معقدة. وإذا كانت بايثون جديدةً عليك تماماً، فلدينا سلسلة متكاملة تبدأ من الصفر: لماذا يجب على كل فريلانسر تعلم بايثون في ٢٠٢٦؟


المراجع والمصادر:

  1. التوثيق الرسمي لـ PHP: PHP Manual — php.net
  2. مرجع المطوّرين لووردبريس: WordPress Developer Reference
  3. دليل القوالب الفرعية في ووردبريس: Child Themes — WordPress.org

 

— دليل تصميم مواقع الويب —

المقال السابق: ١٠- الموقع المستقل

المقال الحالي: ١١- PHP للجميع

المقال التالي: ١٢- المواقع الديناميكية

سلاسل مشابهة: دليل التدوين | ورشة التدوين متعدد الوسائط | دليل السيو

منصة ذي يزن © ٢٠٢٦

ورشات الفريلانسر

دليل تصميم الويب — ١٤ مقالة

المقالة 1
١ / ١٤

التدوين: كيف تطلق موقعك على ووردبريس وبلوجر بدون خبرة

المقالة 2
٢ / ١٤

تشريح مواقع الويب: ما الفرق بين صفحات الهبوط والمدونات ومعارض الأعمال؟

المقالة 3
٣ / ١٤

المواقع التفاعلية: كيف تصمم موقعاً بنظام مشتركين وعضويات مدفوعة؟

المقالة 4
٤ / ١٤

لغة الهيكل: تعلم أساسيات HTML لبناء أول صفحة ويب بيدك

المقالة 5
٥ / ١٤

التنسيق البصري: كيف تحوّل الهياكل الصامتة إلى صفحات مذهلة باستخدام CSS

المقالة 6
٦ / ١٤

موقع للجوال فقط: تصميم مواقع مخصصة للجوال واستجابة الشاشات

المقالة 7
٧ / ١٤

الواجهة التفاعلية: إضافة الحيوية والتفاعل لصفحاتك باستخدام جافا سكريبت

المقالة 8
٨ / ١٤

الإعلان عن وجود الموقع: تهيئة موقعك الناشئ لمحركات البحث وأدوات الأرشفة

المقالة 9
٩ / ١٤

الكواليس الخلفية للإنترنت: كيف تعمل خوادم الويب وأين تتخزن بيانات موقعك؟

المقالة 10
١٠ / ١٤

الموقع المستقل: الدليل العملي لنقل موقعك إلى استضافة مستقلة عبر FTP وسي بانيل

المقالة 11
١١ / ١٤

PHP للجميع: لمسات حية تجعل موقعك أذكى بدون خبرة برمجية

المقالة 12
١٢ / ١٤

المواقع الديناميكية: استخدام بايثون لبناء مواقع معقدة

المقالة 13
١٣ / ١٤

الجيل الثالث للمواقع: مدخل إلى تصميم مواقع الويب ٣ والتطبيقات اللامركزية (DApps)

المقالة 14
١٤ / ١٤

مطوّر الويب في ٢٠٢٦: كيف تبني وتُبرمج موقعك بالكامل بمساعدة الذكاء الاصطناعي؟

سلسلة دليل تصميم الويب — ١٤ مقالة  |  منصة ذي يزن © ٢٠٢٦

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *