سایت برتر

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

  2. U28456 ۰۱ تیر ۱۳۹۹

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

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

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

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

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

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

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

        • رضا حسینی راد رضا حسینی راد ۲۰ آبان ۱۳۹۸

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

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

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

            • رضا حسینی راد رضا حسینی راد ۲۰ آبان ۱۳۹۸

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

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

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

                • رضا حسینی راد رضا حسینی راد ۲۰ آبان ۱۳۹۸

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

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

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

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

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

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

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

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

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

    • رضا حسینی راد رضا حسینی راد ۰۴ فروردین ۱۳۹۸

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

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

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

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

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

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

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

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

یک پیشنهاد خوب
اگر می‌خواهید وب‌سایت خود را اصولی مدیریت کنید، دوره جامع سایت برتر را از دست ندهید. اطلاعات بیشتر... ممنون. این پیام را ببند

اگر می‌خواهید وب‌سایت خود را اصولی مدیریت کنید، دوره جامع سایت برتر را از دست ندهید.

اطلاعات بیشتر...

تخفیف ۶۰ درصدی برای شرکت در دوره جامع سایت برتر ۲۰۲۱

فقط 0 روز و 0 ساعت و 0 دقیقه و 0 ثانیه