تختلف الأهداف التي يريد الأشخاص إنشاء مواقع على الووردبريس من أجل تحقيقها. مع اختلاف تلك الأهداف، تختلف الوظائف التي لا بد من إضافتها داخل الموقع؛ حتى يحصل صاحب الموقع في النهاية على تصميم مثالي لموقعه. لذلك، وجدت طرق عدة، تساعد على تنفيذ المهام المطلوبة، ومنها التعديل في الأكواد البرمجية الموجودة في ملف 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 بكل سهولة من على موقع الووردبريس عن طريق اتباع الخطوات الآتية:
- في البداية، انتقل إلى لوحة تحكم موقع الووردبريس، واذهب إلى صفحة "محرر القوالب" من قائمة "المظهر".
- ستظهر لكَ رسالة الآن تُنبهك أنك ستُعدّل القالب المُثبت على الموقع بشكل مباشر. لذا، عند رؤيتها انقر على زر "لقد فهمت".
- سترى على يسارك الآن قائمة توجد بها جميع الملفات الخاصة بالقالب المُثبت، وستجد في هذه القائمة ملف functions.php.
- عند نقرك على الملف، سيظهر أمامك الأكواد البرمجية التي يُمكنك التعديل فيها؛ حتى تضيف للموقع الوظائف التي ترغب في إضافتها له. ولا تنسَ النقر على زر"تحديث الملف" بعد الانتهاء من التعديل.
الطريقة الثانية
كذلك، باستطاعتك العثور على ملف functions.php بواسطة برامج بروتوكول نقل الملفات أو ما تُعرف أيضًا ببرامج الـ FTP، وذلك عن طريق اتباع الخطوات الآتية:
- انتقل إلى إحدى برامج الـ FTP المُناسبة لجهازك (وهي برامج يُمكن استخدامها لتبادل الملفات بين جهاز الحاسوب الخاص بك وجهاز حاسوب آخر، أو بين جهاز الحاسوب والخادم).
- بعد ذلك، اتصل مع الخادم بواسطة برنامج الـ FTP المُختار. ويُمكنك معرفة كيفية استخدام الـ FTP والاتصال مع الخادم، من خلال الاستعانة بجزئية الـ FTP الموجودة في مقالنا بعنوان "8 خطوات لنقل نقل موقع ووردبريس إلى نطاق جديد دون خسارة مجهودات السيو".
- بعد الاتصال، اذهب إلى قائمة "Remote Site"، وابحث عن المجلد الرئيسي الخاص بموقع الووردبريس، الذي يكون غالبًا بعنوان "public_html".
- الآن ابحث عن مجلد بعنوان "wp-content"، الذي ستجد بداخله مجلد آخر بعنوان "themes".
- بعد ذلك، اذهب إلى مجلد القالب الذي تريد تعديل ملف functions.php الخاص به، وهناك ستجد الملف.
- لا تنسَ النقر يمينًا على ملف functions.php؛ حتى تتمكن من فتحه، والتعديل فيه مباشرةً.
كيف يُمكن التعديل في ملف functions.php؟
بعد العثور على ملف functions.php، يُمكنك التعديل فيه مباشرةً بشكل يدوي. لكن هذه الطريقة غير آمنة على الإطلاق، إذ يُمكن كتابة الأكواد البرمجية بشكل خاطئ، وبالتالي تؤدي تلك الأخطاء إلى حدوث مشكلات كبيرة للموقع، ومنها ظهور شاشة الموت البيضاء، أو قد يؤدي ذلك إلى منعك من الدخول إلى موقعك.
لذا، لتفادي حدوث تلك المشكلات، يُمكن الاستعانة بإضافة Code Snippets، التي صُممت لكتابة وتعديل الأكواد البرمجية عن طريق اتباع الخطوات التالية، بدلًا من التعديل في أكواد ملف functions.php بشكل مباشر.
- بدايةً، انتقل إلى لوحة تحكم موقع الووردبريس الخاص بك؛ حتى تبحث عن الإضافة، لتنصّبها وتفعّلها على الموقع.
- بعد ذلك اذهب إلى قائمة الإضافة بعنوان "Snippets"، الموجودة من ضمن قوائم لوحة تحكم الووردبريس، واختر "Add New".
- اكتب عنوان الأكواد التي تريد إضافتها لموقعك، أو أي جمل تذكرك بالوظيفة التي تقوم بها تلك الأكواد، في حقل "Enter title here".
- الأن ادخل الأكواد البرمجية في حقل "Code"، ثم اختر المكان، الذي تريد تنفيذ تلك الأكواد البرمجية بداخله، الذي يكون بشكل افتراضي داخل موقع الووردبريس بأكمله "Run snippet everywhere". لكن بالطبع يُمكنك تغيير هذا الوضع الافتراضي، وتحديد الخيار الأنسب لكَ.
- كما يُمكنك كتابة وصف لهذه الأكواد في حقل "Description"، والوسوم المرتبطة بها في حقل "Tags"، في حال رغبت في ملء كلا الحقلين.
- لا تنسَ حفظ الأكواد التي كتبتها وتفعيلها على موقعك، من خلال النقر على زر "Save Changes and Activate".
ما هي سلبيات التعديل في ملف functions.php؟
على الرغم من سهولة منح موقعك على الووردبريس وظائف وإمكانيات جديدة، من خلال إضافة الأكواد البرمجية والتعديل في ملف functions.php، إلا أن لذلك جوانب سلبية، منها:
- حدوث بعض المشكلات التي تؤدي إلى إلحاق الضرر بالموقع، والبيانات الموجودة داخله، وذلك يُمكن حدوثه في أثناء كتابة أكواد برمجية جديدة، أو عند تعديل الأكواد الموجودة بشكل خاطئ.
- فقدان الأكواد البرمجية المُعدلة في هذا الملف، أو المُضافة إليه عند تحديث القالب المُثبّت على الموقع.
- الحاجة إلى إضافة تلك التعديلات إلى ملف functions.php مرة أخرى إلى أي قالب جديد، تريد تثبيته على موقع الووردبريس الخاص بك. وذلك لأن هذا الملف خاص بكل قالب، وتُفقد التعديلات الموجودة داخله في حال غيّرت القالب المُستخدم على الموقع.
- أفي حال عدّلت في ملف functions.php، فأنت بذلك تعدّل في قالب الموقع وتصميمه، وهذا الذي تحاول منصة الووردبريس تجنبه. لذلك طرحت منصة الووردبريس القوالب والإضافات الخاصة بها بشكل منفصل؛ لكي تفصل تصميم الموقع عن الوظائف الموجودة بداخله.
كذلك، يُنصح بالتعديل في ملف functions.php الموجود من ضمن ملفات القالب الابن "Child Theme"، أو ما يعرف أيضًا بالقالب الفرعي، وليس القالب الأب "Parent Theme"؛ حتى تحافظ على الأكواد البرمجية المُعدلة من الفقدان، وذلك عند تحديث القالب الأب.
فضلًا عن ذلك، عليكَ توخي الحذر دائمًا عند التعديل في ملف functions.php، أو يُمكنك توظيف أحد مطوري المواقع المحترفين؛ لكي تتجنب حدوث المشكلات.
5 أمثلة على مهام يُمكن تنفيذها باستخدام ملف functions.php
توجد العديد من الإمكانيات، التي يُمكن إضافتها لموقعك عن طريق كتابة بعض الأكواد البرمجية داخل ملف functions.php، منها المهام الآتي ذكرها:
1. تحليل موقع الووردبريس وتتبع مستخدميه
يُستخدم 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 theme الافتراضي، الذي ستجد الأكواد الخاصة بالبيانات الوصفية الموجودة بجانب كل منشور، في ملف 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، أو تعديل الأكواد الموجودة بداخله؛ حتى تضمن عدم فقدان المجهودات، التي بذلتها منذ بداية إنشاء موقعك على الووردبريس، حتى هذه اللحظة.
اترك تعليقك