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

بسم الله الرحمن الرحيم

اللهم صلى على محمد وعلى آل محمد كما صـليت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد ، اللهم بارك على محمد وعلى آل محمد كما باركت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد .. أما بعد

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

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

القوائم

إضافة رائعة جائت مع وورد بريس 3 تمكنك من التحكم فى عناصر قوائم ورد بريس كقائمة الموقع الرئـيسية (Navigation) .. وغيرها من القوائم التى يحتوى عليها موقعك كقائمة علوية .. أو قائمة فى الفوتر ..

كيف نفعل القوائم فى القالب ؟

فى ملف functions.php (وهو الملف المسئول عن وظائف القالب) أضف الكود التالى :

function momizat_menus() {
  register_nav_menus(
   array(
    'main'   => __('الرئيسية'),
    'topnav' => __('القائمة العليا'),
   )
  );
}
add_action('init', 'momizat_menus');

ما معنى الكود السابق ؟

اولا الفنكشن المسماه momizat_menus عبارة عن فنكشن جمعت فيها قوائم الموقع كلها وبداخلها فنكشن خاصة بالوورد بريس اسمها register_nav_menus وهى مخصصة لإدراج أكثر من قائمة فى الموقع .. أما إن كان موقعك يحتوى على قائمة واحدة فقط .. فهناك فنكشن اخرى اسمها register_nav_menu .. أما بعد .. فتجد مصفوفة (array) بداخلها اسماء القوائم .. فى القائمة الأولى مثلا اسمهاmain اما الاسم الذى يظهر فى لو حة التحكم “الرئيسية” ..

إظهار القائمة فى القالب.

افتح الملف الذى يحتوى على القائمة وغالبا القائمة الرئيسية تكون فى header.php

    <?php  wp_nav_menu ( array( 'menu_class' => 'class','container'=> 'ul', 'theme_location' => 'main' )); ?>

menu_class: اسم الكلاس
container: محتوى المنيوى يحاط بإيه ؟؟ طبعا ul لأن المنيو عبارة عن li
theme_location: اسم المنيو .. فى حالتنا اسمه main
اللى فات دا أصغر كود لظهور المنيو .. ممكن نخلـيه أحسن من كدا شوية

<?php if ( has_nav_menu( 'main' ) ) { ?>
<?php  wp_nav_menu ( array( 'menu_class' => 'class','container'=> 'ul', 'theme_location' => 'main' )); ?>
<?php } ?>

كدا معناه لو فى مينيو اسمها Main اظهرها مفيـش متظهرش اى حاجة خالص .. لأن الكود الأول كان هيطلع خطأ لو مفيش قايمة معمولة

وممكن نخلى الكود أحسن من كدا كمان

<?php if ( has_nav_menu( 'main' ) ) { ?>
<?php  wp_nav_menu ( array( 'menu_class' => 'class','container'=> 'ul', 'theme_location' => 'main' )); ?>
<?php } else {  ?>
<ul>
<?php wp_list_pages(array(
'title_li' => false
)); ?>
</ul>
 
<?php } ?>

والأخير دا معناه أن لو فى مينيو اسمها main  إظهرها لو مفيـش اعمل قايمة بالصـفحات الموجودة بالمدونة

والأخير أعتقد انه أفضـل كود ..

مراجع :

register nav menus

register nav menu

wp_nav_menu

الصورة المصغرة

هى ميزة ظهرت قبل وردبريس 3 بشهور .. ظهرت فى الإصدار 2.9 وهى عبارة عن إدراج صورة الموضوع فى التدوينة بعيدا عن محتوى التدوينة ..

افتح ملف functions.php وأضـف ..

add_theme_support('post-thumbnails');

إظهار الصورة فى الثيم ؟

 
<?php the_post_thumbnail('medium', array('class' => 'alignleft')); ?>

الكود السابق عبارة  فنكشن اسمها the_post_thumbnail وهى لاستدعاء الصورة المصغرة لتظهر فى صفحات الموقع .. الكود السابق لا يعمل إلا داخل الـ loop .. الكود عبارة عن شـقين .. الأول ..

size: والمقاسات المتاحة لنا .. thumbnail, medium, large

وضبط هذه المقاسات يكون من إعدادات >> وسـائط

الثانى :

attribute :  وهو عبارة عن إضافة سمة للصورة مثل : Class, Id للتحكم فى شكل الفريم الخاص بالصورة أو اتجاهها إلخ ..

والنتيجة تكون كالتالى :

الخلاصة

تركت خلفى شـئ هام جدا وهو Custom Post Types وهذه الإضافة الأفضل بلا منازع لكنها لا يمكن أن تكون جزءا من درس .. سأشـرحها يوما ما أدعوا لى ..

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