functions.php

ملف functions.php والتعديل عليه

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

ما هو ملف functions.php؟

يعتبر ملف functions.php من الملفات الأساسية في موقع الووردبريس. يمكن لصاحب الموقع إجراء تعديلات على هذا الملف إذا كان يرغب في تغيير الوظائف الحالية لموقعه أو إضافة ميزات جديدة، مما يساعده على تحسين وتطوير الموقع، مثل زيادة سرعة تحميل الصفحات وتعزيز تتبع الأداء لتحقيق أهداف مشروعه. كما يسهم ذلك في تحقيق رضا العملاء وتحسين تجربتهم داخل موقع الووردبريس.

يتواجد ملف functions.php ضمن ملفات القوالب المثبتة على موقع الووردبريس، ويتم تفعيله تلقائيًا عند تثبيت وتفعيل القوالب المختارة. يحتوي هذا الملف على أكواد برمجية مكتوبة بلغة PHP.

يعمل ملف functions.php بشكل مشابه لإضافات الووردبريس المختلفة، حيث يمكن تعديل الأكواد البرمجية الموجودة أو إضافة أكواد جديدة، مما يتيح لصاحب الموقع تخصيص وظائف الموقع حسب احتياجاته دون الحاجة لشراء إضافات مدفوعة أو تثبيت إضافات مجانية.

ما أهمية ملف functions.php؟

تم تصميم ملف functions.php لتسهيل عملية تطوير المواقع، مما يساعدك في تحقيق أهدافك عند إنشاء موقعك على ووردبريس. من خلال اسم الملف، يمكننا أن نستنتج أنه يحتوي على وظائف الموقع، مكتوبة بلغة البرمجة PHP.

لفهم كيفية عمل ملف functions.php بشكل كامل، يجب أن نعرف أنه بعد استدعاء أي وظيفة موجودة في هذا الملف، يُنتظر لبضع دقائق حتى تعود هذه الوظيفة بقيمة معينة، أو حتى تنتهي جميع العمليات المرتبطة بها، وبعد ذلك تُنفذ الأكواد التالية الموجودة في الملف.

بفضل ذلك، يمكنك استدعاء المكونات المدمجة في ووردبريس بشكل افتراضي، وإنشاء إعدادات جديدة مخصصة، وتفعيل ميزات إضافية داخل الموقع من خلال التعديلات التي تُضاف إلى هذا الملف.

كما تتيح لك الأكواد الموجودة في ملف functions.php استخدام “خطافات ووردبريس” (WordPress Hooks)، والتي تهدف بشكل أساسي إلى تنفيذ أو تعديل وظيفة معينة والتفاعل معها تلقائيًا عند نقاط محددة مسبقًا، مما يوفر عليك الحاجة لتكرار كتابة الأكواد في أماكن متعددة. يمكن أيضًا استخدام هذه الخطافات لتوسيع وتعديل وظائف القوالب والإضافات في ووردبريس.

أين يوجد ملف functions.php؟

يمكنك العثور على ملف functions.php داخل المجلد الخاص بالقالب المثبت على موقع الووردبريس باستخدام إحدى الطريقتين التاليتين:

الطريقة الأولى
يمكنك بسهولة الوصول إلى ملف functions.php من خلال موقع الووردبريس باتباع الخطوات التالية:

أولاً، قم بالدخول إلى لوحة تحكم موقع الووردبريس، ثم انتقل إلى صفحة “محرر القوالب” من قائمة “المظهر”.
ستظهر لك رسالة تحذيرية تفيد بأنك ستقوم بتعديل القالب المثبت على الموقع مباشرة. عند ظهور هذه الرسالة، اضغط على زر “لقد فهمت”.

1 9 1024x391 1

ستلاحظ على يسارك قائمة تحتوي على جميع الملفات المرتبطة بالقالب المثبت، وستجد ضمن هذه القائمة ملف functions.php. عند النقر على هذا الملف، ستظهر لك الأكواد البرمجية التي يمكنك تعديلها لإضافة الوظائف التي ترغب بها لموقعك. ولا تنسَ الضغط على زر “تحديث الملف” بعد الانتهاء من التعديلات.

2 9 1024x422 1

الطريقة الثانية

يمكنك أيضًا العثور على ملف functions.php باستخدام برامج بروتوكول نقل الملفات (FTP) من خلال اتباع الخطوات التالية:

  1. قم بفتح برنامج FTP المناسب لجهازك، وهو برنامج يُستخدم لنقل الملفات بين جهاز الكمبيوتر الخاص بك وخادم آخر.
  2. اتصل بالخادم باستخدام برنامج FTP الذي اخترته. يمكنك الاطلاع على كيفية استخدام FTP والاتصال بالخادم من خلال قسم FTP في مقالنا بعنوان “8 خطوات لنقل موقع ووردبريس إلى نطاق جديد دون خسارة مجهودات السيو”.
  3. بعد الاتصال، انتقل إلى قائمة “Remote Site” وابحث عن المجلد الرئيسي لموقع ووردبريس، والذي غالبًا ما يكون باسم “public_html”.
  4. ابحث عن مجلد “wp-content”، وستجد داخله مجلدًا آخر باسم “themes”.
  5. انتقل إلى مجلد القالب الذي ترغب في تعديل ملف functions.php الخاص به، وستجد الملف هناك.
  6. لا تنسَ النقر بزر الماوس الأيمن على ملف functions.php لفتحه وإجراء التعديلات اللازمة مباشرةً.
3 8

كيف يُمكن التعديل في ملف functions.php؟

بعد العثور على ملف functions.php، يمكنك التعديل عليه يدويًا، لكن هذه الطريقة تعتبر غير آمنة تمامًا. فقد يؤدي إدخال أكواد برمجية خاطئة إلى مشاكل كبيرة في الموقع، مثل ظهور شاشة الموت البيضاء، أو حتى منعك من الوصول إلى موقعك.

لذا، لتجنب هذه المشكلات، يمكنك استخدام إضافة Code Snippets، التي تم تصميمها لكتابة وتعديل الأكواد البرمجية بطريقة آمنة. يمكنك اتباع الخطوات التالية بدلاً من تعديل أكواد ملف functions.php مباشرة.

أولاً، انتقل إلى لوحة تحكم موقع الووردبريس الخاص بك للبحث عن الإضافة، ثم قم بتنصيبها وتفعيلها على الموقع.

4 5 1024x385 1

بعد ذلك، توجه إلى قائمة الإضافات المسماة “Snippets” الموجودة ضمن قوائم لوحة تحكم ووردبريس، واختر “Add New”. قم بكتابة عنوان الأكواد التي ترغب في إضافتها لموقعك، أو أي عبارات تذكرك بوظيفة تلك الأكواد، في حقل “Enter title here”. الآن، أدخل الأكواد البرمجية في حقل “Code”، ثم اختر المكان الذي ترغب في تنفيذ تلك الأكواد فيه. بشكل افتراضي، يتم تنفيذ الأكواد داخل موقع ووردبريس بالكامل تحت خيار “Run snippet everywhere”، ولكن يمكنك بالطبع تغيير هذا الإعداد الافتراضي واختيار الخيار الذي يناسبك.

5 4 1024x307 1

يمكنك أيضًا إضافة وصف لهذه الأكواد في حقل “Description” والوسوم المرتبطة بها في حقل “Tags”، إذا كنت ترغب في تعبئة كلا الحقلين. ولا تنسَ حفظ الأكواد التي قمت بكتابتها وتفعيلها على موقعك من خلال الضغط على زر “Save Changes and Activate”.

6 3 1024x327 1

ما هي سلبيات التعديل في ملف functions.php ؟

على الرغم من أن إضافة وظائف وإمكانيات جديدة لموقعك على ووردبريس يمكن أن تكون سهلة من خلال تعديل الأكواد البرمجية في ملف functions.php، إلا أن هناك بعض الجوانب السلبية التي يجب أخذها بعين الاعتبار، ومنها:

  1. إمكانية حدوث مشكلات قد تؤدي إلى تلف الموقع والبيانات الموجودة فيه، خاصة عند كتابة أكواد جديدة أو تعديل الأكواد الحالية بشكل غير صحيح.
  2. فقدان الأكواد المعدلة أو المضافة في ملف functions.php عند تحديث القالب المثبت على الموقع.
  3. الحاجة إلى إعادة إضافة التعديلات إلى ملف functions.php في أي قالب جديد ترغب في تثبيته، حيث أن هذا الملف مرتبط بكل قالب على حدة، وتُفقد التعديلات عند تغيير القالب المستخدم.
  4. عند تعديل ملف functions.php، فإنك تقوم بتغيير تصميم الموقع، وهو ما تسعى منصة ووردبريس لتجنبه. لذلك، تم تصميم القوالب والإضافات بشكل منفصل لتفصل بين تصميم الموقع ووظائفه.
  5. يُفضل إجراء التعديلات في ملف functions.php الخاص بالقالب الفرعي (Child Theme) بدلاً من القالب الرئيسي (Parent Theme)، وذلك لحماية الأكواد المعدلة من الفقدان عند تحديث القالب الرئيسي.

علاوة على ذلك، يجب أن تكون حذرًا دائمًا عند إجراء أي تعديلات في ملف functions.php، أو يمكنك الاستعانة بمطورين محترفين لتفادي أي مشكلات قد تطرأ.

5 أمثلة على مهام يُمكن تنفيذها باستخدام ملف functions.php

يمكنك إضافة العديد من الميزات إلى موقعك من خلال كتابة بعض الأكواد البرمجية في ملف functions.php، ومن بين هذه المهام:

1. تحليل موقع الووردبريس وتتبع مستخدميه

يُستخدم Google Analytics لتقديم تقارير شاملة حول تحليلات مواقع الووردبريس ومستخدميها، مما يساعد أصحاب المواقع على فهم عملائهم وتفضيلاتهم بشكل أفضل. لذلك، يُعتبر وجوده أمرًا أساسيًا ومهمًا لأي موقع على منصة الووردبريس.

يمكن ربط Google Analytics بموقع الووردبريس بعدة طرق مختلفة، منها إدخال الكود البرمجي التالي في أسفل ملف الوظائف functions.php. يجب التأكد من إدخال كود التتبع بالكامل وليس مجرد ID كبديل للملاحظة الموجودة في الصف الرابع من الكود.

<?php 
add_action('wp_head', 'wpb_add_googleanalytics'); 
function wpb_add_googleanalytics() { ?> 							
// Replace this line with your Google Analytics Tracking Code 	

<?php } ?>

2. إزالة رقم إصدار الووردبريس

تساعدك هذه الميزة في حماية موقعك من الهجمات الإلكترونية، حيث يمكن للقراصنة استغلال الثغرات الأمنية الموجودة في إصدارات ووردبريس القديمة. ومع ذلك، لا ينبغي الاعتماد عليها كوسيلة أساسية لحماية موقع ووردبريس، بل إن إزالة رقم إصدار ووردبريس تضيف طبقة أمان إضافية لموقعك.

يمكن تفعيل هذه الخاصية من خلال إدخال الكود التالي:

<?php 
remove_action('wp_head', 'wp_generator');
 ?>

3. إضافة وقت القراءة المتوقع

يمكن أن يساعد وجود وقت القراءة المتوقع في منشورات موقع الووردبريس المستخدمين على تقدير طول المحتوى الذي يعتزمون قراءته. لتفعيل هذه الميزة بسهولة، يمكنك اتباع الخطوتين التاليتين:

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

function reading_time() { 
      $content = get_post_field( 'post_content', $post->ID ); 
      $word_count = str_word_count( strip_tags( $content ) ); 	
      $readingtime = ceil($word_count / 200); 					

      if ($readingtime == 1) { 	
         $timer = " minute"; 
      } else { 
          $timer = " minutes"; 
      } 

      $totalreadingtime = $readingtime . $timer; 	

      return $totalreadingtime;
}

الخطوة الثانية

بعد الانتهاء من إضافة كود حساب وقت القراءة المتوقع، تحتاج الآن إلى تضمين هذا الوقت في المكان الذي ترغب في ظهوره فيه، مثل أن يكون جزءًا من البيانات المعروضة بجانب كل منشور. يتطلب ذلك منك البحث عن الملف المناسب الذي يجب إضافة هذا الكود إليه، والذي يتواجد ضمن ملفات القالب المثبت، حيث تختلف طرق إنشاء كل قالب عن الآخر.

يمكننا في هذا السياق الإشارة إلى قالب Twenty Seventeen الافتراضي، حيث يمكنك العثور على الأكواد الخاصة بالبيانات الوصفية المعروضة بجانب كل منشور في ملف content.php الموجود داخل المجلد الفرعي “post” ضمن مجلد “template-parts”. لذا، عند العثور عليه، قم بإضافة الكود التالي ضمن أكواد البيانات الوصفية:

echo reading_time(); 

4. تحديث ملحوظة حقوق التأليف والنشر 

يمكن أن يغفل أصحاب المواقع عن تحديث التاريخ في ملاحظة حقوق الطبع والنشر، على الرغم من أهمية هذه العملية. لذلك، يمكنك تحديث التاريخ بشكل تلقائي من خلال اتباع الخطوتين التاليتين:

الخطوة الأولى
قم بفتح ملف functions.php، وأضف الكود التالي فيه:

function wpb_copyright() {
      global $wpdb;
      $copyright_dates = $wpdb->get_results(" 							 
        SELECT 
            YEAR(min(post_date_gmt)) AS firstdate,							 YEAR(max(post_date_gmt)) AS lastdate 							 
        FROM
            $wpdb->posts
            WHERE
            post_status = 'publish'
      "); 

      $output = ''; 

      if($copyright_dates) {
          $copyright = "© " . $copyright_dates[0]->firstdate;
          if($copyright_dates[0]->firstdate != $copyright_dates[0]->lastdate) { 
              $copyright .= '-' . $copyright_dates[0]->lastdate; 
          }

          $output = $copyright;
      } 

      return $output;
}

الخطوة الثانية
الآن، انتقل إلى ملف footer.php إذا كنت ترغب في إضافة ملاحظة حقوق الطبع والنشر في أسفل الصفحة على موقعك. يمكنك أيضًا تحديد الموقع الذي تود أن تظهر فيه هذه الملاحظة، ثم ابحث عن الملف المرتبط بذلك المكان. بعد ذلك، قم بإضافة الكود التالي داخل الملف الذي اخترته.

<?php echo wpb_copyright(); ?> 	

5. إضافة قوائم مُخصصة على موقع الووردبريس

بإمكانك أيضًا إنشاء قوائم مُخصصة وإضافتها لأي مكان تريده على موقعك، وذلك من خلال اتباع الخطوتين الآتي ذكرهما:

الخطوة الأولى

في البداية، اذهب إلى ملف functions.php، واكتب الكود التالي داخله، مع إمكانية تسمية القائمة بالاسم الذي ترغب به، عن طريق كتابة الاسم بديلًا لجملة “My Customized Menu” الموجودة في الصف الثاني في الكود:

function wpb_custom_new_menu() { 	
      register_nav_menu('my-custom-menu',__( 'My Customized Menu' )); 		}
add_action( 'init', 'wpb_custom_new_menu' ); 

الخطوة الثانية
بعد إنشاء القائمة، يمكنك اختيار المكان الذي ترغب في وضعها فيه على الموقع. على سبيل المثال، إذا كنت تريد وضع هذه القائمة في بداية الصفحة، يمكنك الانتقال إلى ملف header.php وإضافة الكود التالي داخله، أو يمكنك كتابته في أي ملف آخر يتناسب مع الموقع الذي تحدده.

<?php
wp_nav_menu( array(
        'theme_location' => 'my-custom-menu', 
        'container_class' => 'custom-menu-class' ) ); 						
?>

بدائل استخدام ملف functions.php

إذا كان لديك بعض الأكواد البرمجية التي ترغب في إضافتها إلى موقع الووردبريس الخاص بك لتعزيز إمكانياته، ولكنك تفضل عدم تعديل ملف functions.php، يمكنك القيام بذلك من خلال استخدام إضافات الووردبريس.

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

ما أعنيه هو أنه يمكنك استخدام تلك الأكواد البرمجية لإنشاء إضافات مخصصة لموقعك فقط، دون الحاجة لمشاركتها في دليل إضافات الووردبريس أو مع مجتمع الووردبريس الكبير. يُعرف هذا النوع من الإضافات بـ “site-specific plugins”.

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

على الرغم من سهولة استخدام ملف functions.php لإضافة ميزات جديدة إلى موقع الووردبريس، إلا أن أي خطأ في كتابة الأكواد البرمجية قد يؤدي إلى مشكلات كبيرة، مثل فقدان وظائف الموقع وملفاته الحالية.

لذا، في النهاية، نوصي بعمل نسخ احتياطية لجميع ملفات موقع الووردبريس قبل إضافة أي كود برمجي إلى ملف functions.php أو تعديل الأكواد الموجودة فيه، لضمان عدم فقدان الجهود التي بذلتها منذ بداية إنشاء موقعك على الووردبريس وحتى الآن.

لمزيد من المعلومات تواصل معنا من هنا

Leave a Reply

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *