هذا الموضوع يحتوي على 13 رد و 5 مشاركون وتمّ تحديثه آخر مرة بواسطة  محمد بريس قبل 4 سنوات، 1 شهر.

أضف رد جديد
الحالة: بحاجة لحل
  • منشئ
    موضوع
  • #34467

    يوبي99
    Participant

    السلام عليكم ورحمة الله وبركاته

    اود الاستفسار حول عمل تنسيق خاص لقسم معين في المدونة مثلاً:

    لدي قسمان ( قسم المقالات وقسم الخواطر والادب )

    هنا اريد اعمل تنسيق معين لقسم ( المقالات ) بينما هذا التنسيق يختلف لقسم ( الخواطر والأدب )

    يعني اذا ادخل قسم المقالات يكون التنسيق مثلا بلون احمر وتنسيق معين

    واذا انتقل الى قسم ( الخواطر والأدب ) يكون التنسيق مختلف عن الاول

    اعتقد الفكرة وضحت

    ( ملاحظة للتوضيح أكثر : أنا أتحدث عن عرض المواضيع في الاقسام وليس عرض التدوينة في الصفحة )

    ولكم جزيل الشكر …

    ربما تحتاج خدمات ووردبريس مدفوعة؟ ندعوك لزيارة عرب ووردبريس بريميوم - الفرع التجاري الرسمي لموقع عرب ووردبريس.
مشاهدة 10 ردود - 1 حتى 10 (من مجموع 13)
  • الكاتب
    الردود
  • #34472

    وعليكم السلام ورحمة الله وبركاته
    أهلا بك عزيزي، حسب طلبك أنت ترغب في عمل تصميم مخصص لكل تصنيف لديك فعلى سبيل المثال تصنيف المقالات فإنّ الاسم اللطيف للمقالات سيكون ( articles ) إذا الخطوات ستكون كالتالي :

    • انشاء ملف جديد بإسم : category-articles.php، لاحظ أنّني وضعت الاسم اللطيف بإسم الملف ليتعرف عليه ووردبريس تلقائيًا، ثُمّ ترفعه بجانب ملفات القالب .
    • الان قُم بإنشاء ملف آخر أيضًا للمقالة المفردة بتصميمك الخاص بإسم single-articles.php، ليكون هذا الملف خاص بتصميم المقالة المُفردة – ثُمّ قم برفعه بجانب ملفات القالب أيضًا .

    بعد انشائك للملفات وكتابة الأكواد التي تريدها بداخلها وغالبًا بتكون الأكواد مماثلة لما في الملفات الأصلية single.php وكذلك archive.php ثمّ تقم بإضافة توزيع CSS خاص بك عليها لتكون بتصميم مخصص فإنّه في هذه الحالة سيتوجب عليك إضافة كود إلى ملف functions.php التابع للقالب الخاص بك وهو :

    function single_template_cat($single) {
    	$path_template = get_theme_root() . '/' . get_template();  
    	global $wp_query, $post;
    	foreach((array)get_the_category() as $cat_name) :	
    	if(file_exists($path_template . '/single-' . $cat_name->slug . '.php'))
    		return $path_template . '/single-' . $cat_name->slug . '.php';
    	elseif(file_exists($path . '/single.php'))	
    		return $path_template . '/single.php';	
    	endforeach;
    	
    }
    add_filter('single_template', 'single_template_cat');
    
    

    هذا الكود يجعلك تنشأ أكثر من تصنيف بتصميم مخصص وأكثر من ملف مفرد بنفس اسم التصنيف ويتعرف عليهم تلقائيًا، فبإمكانك تنشأ :

    • category-articles.php & single-articles.php
    • category-gallery.php & single-gallery.php
    • category-videos.php & single-videos.php

    تلقائيًا سيقرأ الكود اسم التصنيف وستوجه بشكلٍ مباشر إلى ملف المقالة المفردة single-name_slug.php .

    أو يُمكنك استخدام هذا الكود إذا أردت أن يكون الكود خاص فقط بتصنيف مُعين وليكن ستنشأ تصميم لتصنيف المقالات :

    <?php
     
    function get_custom_cat_template_articles($single_articles) {
     
           if ( in_category( 'category-articles' )) {
              $single_articles = dirname( __FILE__ ) . '/single-articles.php';
         }
         return $single_articles;
    }
     
    add_filter( "single_template", "get_custom_cat_template_articles" ) ;
     
    ?>
    

    بعد ذلك جرّب عملية التصفح لديك وابلغنا بالنتائج والمستجدات حول ذلك .

    أرجو أن تكون الصورة واضحة لك عزيزي .

    تحياتي.

    #34475

    شكراً لك أخي على الدرس.. هده الطريقة تعمل بشكل أفضل..

    #34487

    يوبي99
    Participant

    الاستاذ محمد عكفي

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

    تقبل ودي وتحياتي …… ارق التحايا.

    #34549

    يوبي99
    Participant

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

    تمنياتي لك بالتوفيق … دمت بود.

    #35440

    يوبي99
    Participant

    اقتباساً لهذا الموضوع

    ظهرت لي مشكلة جديدة

    هناك بعض التصنيفات موحدة مثلا

    قسم القران
    قسم الأدعية
    قسم المحاضرات

    اريد جميعهم تحت تنسيق واحد وهو افتراضي
    اي اذا اردت اعمل اي تصنيف جديد يكون ضمن التنسيق الافتراضي single.php
    بنسبة للتصنيف الافتراضي يعمل جيدا ولكن التدوينة الافتراضية لا تعمل !!

    #35441

    أهلا بك عزيزي مُجددًا، يمكنك مراجعة هذا الفيديو الذي قمت بعمله سابقًا قد يفيدك في حلّ مشكلتك :

    تحياتي.

    #35456

    محمد بريس
    Participant

    اقتباساً لهذا الموضوع

    ظهرت لي مشكلة جديدة

    هناك بعض التصنيفات موحدة مثلا

    قسم القران
    قسم الأدعية
    قسم المحاضرات

    اريد جميعهم تحت تنسيق واحد وهو افتراضي
    اي اذا اردت اعمل اي تصنيف جديد يكون ضمن التنسيق الافتراضي single.php
    بنسبة للتصنيف الافتراضي يعمل جيدا ولكن التدوينة الافتراضية لا تعمل !!

    بعد إذن الأخ محمد عكفي

    فقط قم بتعديل الكود إلى التالي بدل الأول لأن فيه خطأ بسيط:

    function single_template_cat($single) {
        $path_template = get_theme_root() . '/' . get_template();  
        global $wp_query, $post;
        foreach((array)get_the_category() as $cat_name) :   
        if(file_exists($path_template . '/single-' . $cat_name->slug . '.php'))
            return $path_template . '/single-' . $cat_name->slug . '.php';
        elseif(file_exists($path_template . '/single.php'))  
            return $path_template . '/single.php';  
        endforeach;
    }
    add_filter('single_template', 'single_template_cat');
    #35460

    يوبي99
    Participant

    الاستاذ محمد عكفي والاستاذ محمد بريس
    اشكركم لتفاعلكم

    بنسبة للشرح تابعته بشكل جيد ولكن لم احصل على ما اقصده

    انا اقصد هو اني اريد مثلا خمس تصانيف بتنسيق واحد

    مثلا :

    تصنيف القرآن
    المحاضرات
    الأدعية
    يكون بتصميم خاص

    وتصنيف
    الكمبيوتر والحاسب
    اجهزة المحمول
    برامج
    يكون تصميم خاص

    اتمنى ان يكون مقصدي واضح

    ولكم جزيل الشكر

    #35462

    sidati
    Participant

    أخي الفاضل إذا كانت لك دراية بطريقة طلب قوالب التصنيفات فستعلم أنه يمكنك انشاء تصميم لكل تصنيف، باختصار يقوم الووردبريس عندما تدخل صفحة التصنيف بطلب الملف
    – category-ID.php حيث الـ ID هو معرف التصنيف فإذا لك يجده يمر الى طلب.
    – category.php : وهو التصميم (تمبلت) الخاص بجميع التصانيف، فإذا لم يجده يمر الى طلب
    – archive.php : وهو التصميم الخاص بجميع صفحات الارشيف فإذا لم يجده قام بطلب
    – index.php : وهو تصميم الصفحة الرئيسية وهو موجود بالضرورة لانه ملف اساسي ليعمل قالب الووردبريس.

    نستنتج أن الحل هو عبر انشاء قالب جديد خاص بالخواطر او ماتريد وتترك الافتراضي للمقالات او لكل تصنيف آخر. ثم تقوم بنسخه ولصقه بعدد التصنيفات التي تريد مع وضع معرف التصنيف في اسم الملف.

    مثال :

    لديك تصنيفان :
    – قرآن كريم ومعرفه 5
    – الحديث الشريف ومعرفه 6

    تقوم بإنشاء قالب (ملف بي اتش بي) وتنسقه كما تشاء ثم تسميه category-5.php ثم تنسخه مرة اخرى وتسميه category-6.php وبالتالي عندما يدخل الزائر الى التصنيف “قرآن كريم” سيتم استدعاء category-5.php واذا دخل الى تصنيف “الحديث الشريف” سيتم استدعاء category-6.php واذا دخل تصنيف آخر سيتم استدعاء القالب الافتراضي وهو category.php.

    هذا والله أعلم

    #35463

    يوبي99
    Participant

    اخي انا اقصد في الصفحة المفردة

    كيف اجعل خمس تصانيف يعرض في صفحة مفردة معينة

    بمعنى اخرى اذا كان اسم اللطيف quran وايضا hadeth وايضا tarikh

    اريد كل تلك التصانيف يعرض في صفحة منسقة واحدة اسمها مثلا single-islam.php

    وخمس تصانيف اخرى اريد ان يعرض في صفحة واحدة منسقة ايضا لنفترض اسمه single-doc.php

    أتمنى الفكرة وضحت

مشاهدة 10 ردود - 1 حتى 10 (من مجموع 13)

يجب تسجيل الدخول للرد على هذا الموضوع.

الحالة: بحاجة لحل