ساخت قالب Single.php جداگانه برای هر دسته‌بندی در وردپرس

ساخت قالب Single.php جداگانه برای هر دسته‌بندی در وردپرس

شاید بارها و بارها دیده باشید که صفحات فروش محصولات و صفحه مقالات میهن وردپرس با یکدیگر متفاوت هستند. این موضوع باعث شد که کاربران عزیز ما سوالات زیادی در این رابطه داشته باشند. مثلا اینکه چطور این کار را انجام داده‌اید؟ مگر برای طراحی قالب وردپرس فقط یک فایل به نام Single.php نداریم؟ چطور چند تا از آن را ایجاد کردید؟ در این مقاله به این سوال پاسخ خواهم داد.

ساخت قالب single.php جداگانه برای هر دسته‌بندی در وردپرس

برای ساخت قالب جداگانه برای دسته‌بندی‌های مختلف همانطور که در مقاله ساخت قالب جدا برای صفحات مختلف وردپرس توضیح دادم باید یک تابع به فایل توابع وردپرس خود اضافه کنید. برای اضافه کردن تابع به functions.php باید وارد بخش نمایش > ویرایشگر شوید.

سپس از سمت چپ صفحه، فایل functions.php یا توابع پوسته را انتخاب کنید.

در این فایل به دنبال ?> در انتهای فایل بگردید و کد زیر را قبل از آن وارد کنید.

// Custom category templates by mihanwp.com
function get_custom_cat_template($single_template) {
   global $post;
   if ( in_category( 'vip' )) {
      $single_template = dirname( __FILE__ ) . '/single-cat-vip.php';
   }
    if ( in_category( 'vip-2' )) {
      $single_template = dirname( __FILE__ ) . '/single-cat-vip-2.php';
    }
   return $single_template;
}
add_filter( "single_template", "get_custom_cat_template" ) ;

موشکافی کد استفاده شده در این روند

در کد فوق بصورت شرطی مشخص کردیم که اگر پست در دسته بندی vip بود پس دنبال فایل single-cat-vip.php بگرد و آن را اجرا کن و اگر نه پست در دسته بندی vip-2 بود به دنبال فایل single-cat-vip-2.php بگرد و اگر نه فایل single.php را اجرا کن. به همین سادگی!

فقط فراموش نکنید که فایل‌های single-cat-vip-2.php و single-cat-vip.php را حتما بسازید و کدهای مورد نظرتان برای اجرا در صفحه فایل تکی دسته‌بندی‌های مختلف را در آن قرار دهید.

موفق باشید.

نظر شما در این مورد چیه؟

  1. U34583 ۱۹ دی ۱۳۹۹

    با سلام و خسته نباشید خدمت شما .
    امکانش هست همین مثالی که زدید رو برای ایجاد صفحه سینگل خاص برای یک taxonomy بگید؟
    کل اینترنت رو زیر و رو کردم اما نشد که بشه .
    1 ماهه درگیرم سر این موضوع 🙁
    در رابطه با in_taxonomy هم که یکی از دوستان رو معرفی کرید سرچ کردم چیزی دستگیرم نشد.
    با سپاس

    • Reza Rad رضا راد ۲۰ دی ۱۳۹۹

      درود بر شما بسیار ساده هست. مثلا اگر اسم taxnomoy شما film هست کافیه نام فایل رو taxonomy-film.php قرار بدید.

      • U34583 ۲۲ دی ۱۳۹۹

        این کار رو کردم الان ، قبلا هم انجام داده بودم جناب حسینی ،
        اما نمیخونه ازین فایل taxonomy-videos.php

        • Reza Rad رضا راد ۲۲ دی ۱۳۹۹

          پاسخ کامنت بعدی رو مشاهده بفرمایید.

      • U34583 ۲۲ دی ۱۳۹۹

        برای صفحه سینگل میخوام بنده که هر تکزونومی رو تو صفحه ای خاص نشون بده

        • Reza Rad رضا راد ۲۲ دی ۱۳۹۹

          از single-movie.php استفاده کنید. به جای movie نام پست تایپ دلخواه را وارد کنید

  2. U28456 ۱ تیر ۱۳۹۹

    سلام
    اگر اشتباه نکنم in_category فقط برای برسی دسته بندی های وردپرس بکار میرود برای دسته بندی های ووکامرس باید به چه شکل عمل کرد ؟

    • تیم پشتیبانی تیم پشتیبانی ۱ تیر ۱۳۹۹

      سلام
      باید از in taxonomy استفاده شود

      • U28456 ۱ تیر ۱۳۹۹

        ممنون میشم کمی بیشتر توضیح بدید

        • تیم پشتیبانی تیم پشتیبانی ۱ تیر ۱۳۹۹

          در گوگل عبارت in taoxonomy را جستجو کنید با ذکر مثال در wordpress.org توضیح داده شده است.

  3. U9570 ۱۷ آبان ۱۳۹۸

    سلام
    این کار رو میشه با edd یا ووکامرسم کرد؟
    برای قسمت صفحه محصولات

    • تیم پشتیبانی تیم پشتیبانی ۱۸ آبان ۱۳۹۸

      با سلام و احترام
      بله امکانش هست

      • U9570 ۱۹ آبان ۱۳۹۸

        میشه توضیح بدین چه جوری میشه ؟

        • Reza Rad رضا راد ۲۰ آبان ۱۳۹۸

          سلام . باید به این شکل استفاده شود.
          single-product.php
          یا
          single-download.php

          • U9570 ۲۰ آبان ۱۳۹۸

            استاد همین دو مورد که فرمودین رو باید کجا کدای بالا قرار بدم
            چون به جای کد single_template قرار میدم عمل نمیکنه چون انگار این علامت دش ( – ) نباید باشه

            • Reza Rad رضا راد ۲۰ آبان ۱۳۹۸

              اصلا توی کد نیازی نیست استفاده کنید. شما باید توی پوشه قالبتون فایل‌هایی با این نام ها بسازید. شما عضو دوره ۰ تا ۱۰۰ طراحی سایت هستید. بخشی که مربوط به ساختار قالب وردپرس هست رو توی دوره ببینید با رسم تصویر توضیح دادیم این مورد رو

              • U9570 ۲۰ آبان ۱۳۹۸

                استاد من منظورم دقیقا همین محتوایی هست که طراحی متفاوت داشته باشه
                من این سوال رو پرسیدم که آیا امکانش هست صفحات دانلود رو تو دسته بندی های مختلف طراحی مختلف براش قرار بدیم ؟
                دقیقا مثل همین دسته بندی برای نوشته ها
                شما الان توی این کدی که قرار دادین توضیخ دادین که اگر مطلب توی دسته بندی vip بود صفحه ای که اسمش single-cat-vip.php هست باز بشه
                آیا برای صفحات دانلود edd میشه این کارو کرد ؟ وگرنه ساخت برگه های دانلود رو انجام دادیم کلا

                • Reza Rad رضا راد ۲۰ آبان ۱۳۹۸

                  برای اینکار همین کد مقاله رو استفاده کنید و به جای vip از نامک دسته بندی که توی EDD استفاده کردید استفاده کنید.

                  • U41911 ۱۱ مرداد ۱۴۰۰

                    مهندس جان کار نمیکنه

  4. U22956 ۱۳ مرداد ۱۳۹۸

    درود و احترام و تشکر بابت این آموزش عالی
    این کار برای پست ها هست
    برای برگه های وردپرس هم میفرمایید چطور میتونیم چند برگه متفاوت مثل page.php بسازیم
    چون اونجا دیگه بحث تگ یا دسته بنده وجود نداره

    • تیم پشتیبانی تیم پشتیبانی ۱۳ مرداد ۱۳۹۸

      سلام
      حتما به زودی مقاله‌‌ای در ارتباط با این موضوع رو به سایت اضافه خواهیم کرد

  5. کاربر مهمان ۴ فروردین ۱۳۹۸

    با سلام خدمت شما یک سؤال داشتم این category که گفتین دقیقاً منظورتون چی بوده یعنی باید فایل category-vip.php باشد یا این نام vip نامک اون دسته بندیه دقیقا نفهمیدم لطفا اگه میشه توضیح بدید ممنون.

    • Reza Rad رضا راد ۵ فروردین ۱۳۹۸

      سلام category که ثابت هست. فقط vip با نام دسته بندی باید یکی باشه.

  6. U6469 ۴ فروردین ۱۳۹۸

    سلام
    آدرس بازیابی رمزعبور wp-login.php?action=lostpassword میباشد. چه طور میتونیم برای صفحه بازیابی رمزعبور یک صفحه اختصاصی بسازیم؟ فقط میخوام یک صفحه اختصاصی بسازم و یک شرت کد درونش قرار دهم.

    • Reza Rad رضا راد ۴ فروردین ۱۳۹۸

      درود متاسفانه قابلیت تغییر این ادرس وجود نداره چون برای امنیت بیشتر از صفحات خود وردپرس استفاده کردیم.

  7. کاربر مهمان ۱۷ دی ۱۳۹۷

    واقعا ممنون از شما
    این مطالبی که اموزش کدنویسی وردپرس هست فوق العاده و تک هستند همین طور ادامه بدین ممنونم

  8. کاربر مهمان ۱۶ دی ۱۳۹۷

    سلام ممنون از پست مفیدتون طی چند هفته آینده حتما اجراییش میکنم .

    فقط اگر ممکنه بگید امکانش هست این اتفاق به واسطه تگ هم بیوفته ؟

    • Reza Rad رضا راد ۱۶ دی ۱۳۹۷

      درود سپاس بله میتونید

  9. کاربر مهمان ۱۵ دی ۱۳۹۷

    مطلب بسیار خوبی بود و بنده هم همین سوال رو داشتم. سپاس.

گفتگو با تیم فروش سلام! دنبال پاسخ برای سوالات خود هستید؟ ما اینجا آماده کمک به شما هستیم...

در حال بارگذاری مقالات...

پشتیبان گفتگو با تیم فروش
پشتیبان گفتگو با تیم فروش آنلاین و پاسخگوی شما هستیم. آنلاین

در حال بارگذاری...

سوالی درباره محصولات سایت دارید؟ از ما بپرسید.