1. ليه نضيف دعم القوائم في القالب؟
القوائم بتعتبر من أهم مكونات الموقع، لأنها بتخلي الزائر يقدر يتنقل بسهولة بين صفحات الموقع المختلفة.
لو القالب مش عامل دعم للقوائم، مش هتقدر تضيف أو تعدل القوائم من لوحة تحكم ووردبريس.
عشان كده لازم نسجل دعم القوائم في القالب ونعرّف الأماكن اللي هنظهر فيها القوائم دي.
2. تسجيل القوائم في ملف functions.php
ببساطة، بتستخدم الدالة register_nav_menus() أو register_nav_menu() لو عايز تسجل قائمة واحدة.
مثال لتسجيل أكتر من قائمة:
function abozaid_register_menus() {
register_nav_menus( array(
'main-menu' => __('القائمة الرئيسية', 'abozaid'),
'footer-menu' => __('قائمة الفوتر', 'abozaid'),
) );
}
add_action('after_setup_theme', 'abozaid_register_menus');
شرح الكود:
- بنسجل قائمتين: الرئيسية والفوتر
after_setup_themeعشان نسجل القوائم في الوقت الصح بعد تحميل القالب
3. عرض القوائم في القالب
لو عايز تعرض القائمة في الهيدر، تروح لملف header.php وتكتب الكود ده:
<?php
wp_nav_menu( array(
'theme_location' => 'main-menu',
'container' => 'nav',
'container_class'=> 'main-navigation',
'menu_class' => 'main-menu',
) );
?>
لو عايز تعرض قائمة الفوتر، في ملف footer.php:
<?php
wp_nav_menu( array(
'theme_location' => 'footer-menu',
'container' => 'nav',
'container_class'=> 'footer-navigation',
'menu_class' => 'footer-menu',
) );
?>
4. مثال عملي كامل
في ملف functions.php
function abozaid_register_menus() {
register_nav_menus( array(
'main-menu' => __('القائمة الرئيسية', 'abozaid'),
'footer-menu' => __('قائمة الفوتر', 'abozaid'),
) );
}
add_action('after_setup_theme', 'abozaid_register_menus');
في ملف header.php
<!DOCTYPE html>
<html>
<head>
<title>موقعي</title>
<?php wp_head(); ?>
</head>
<body>
<header>
<?php
wp_nav_menu( array(
'theme_location' => 'main-menu',
'container' => 'nav',
'container_class'=> 'main-navigation',
'menu_class' => 'main-menu',
) );
?>
</header>
في ملف footer.php
<footer>
<?php
wp_nav_menu( array(
'theme_location' => 'footer-menu',
'container' => 'nav',
'container_class'=> 'footer-navigation',
'menu_class' => 'footer-menu',
) );
?>
</footer>
<?php wp_footer(); ?>
</body>
</html>
5. نصائح مهمة
- بعد تسجيل القوائم، هتلاقيها في لوحة تحكم ووردبريس تحت مظهر > قوائم تقدر تضيف وتعدل عليها بسهولة.
- لو ما ظهرش عندك مكان تعيين القوائم، اتأكد إنك سجلت القوائم صح في
functions.phpوبالاسم الصح. - استخدم CSS عشان تنسق شكل القوائم اللي ظهرت على موقعك.
6. مراجعة سريعة
- تسجيل القوائم في
functions.phpضروري عشان تظهر في لوحة التحكم - عرض القوائم بيكون بدالة
wp_nav_menu()مع تحديدtheme_location - تقدر تسجل أكتر من قائمة وتعرضهم في أماكن مختلفة زي الهيدر والفوتر
- القوائم بتخلي الموقع أكتر احترافية وسهل تنقل فيه
7. أسئلة شائعة
س: هل لازم أسجل كل القوائم في functions.php؟
ج: أيوه، لو عايز تظهر في لوحة تحكم ووردبريس.
س: لو ما سجلتش القوائم، إيه اللي هيحصل؟
ج: مش هتقدر تضيف قوائم أو تعيينها في لوحة التحكم.
س: ممكن أغير شكل القوائم؟
ج: أكيد، باستخدام CSS أو حتى عبر دوال callback في wp_nav_menu.
