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

1.2 / 5. تعداد رای: 5

ساخت قالب 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 هم که یکی از دوستان رو معرفی کرید سرچ کردم چیزی دستگیرم نشد.
    با سپاس

  2. U28456 ۱ تیر ۱۳۹۹

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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