ثبت‌نام ورود

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

    پاسخ دادن
    • رضا حسینی راد رضا حسینی راد ۲۰ دی ۱۳۹۹

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

      پاسخ دادن
      • U34583 ۲۲ دی ۱۳۹۹

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

        پاسخ دادن
        • رضا حسینی راد رضا حسینی راد ۲۲ دی ۱۳۹۹

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

          پاسخ دادن
      • U34583 ۲۲ دی ۱۳۹۹

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

        پاسخ دادن
        • رضا حسینی راد رضا حسینی راد ۲۲ دی ۱۳۹۹

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

          پاسخ دادن
  2. U28456 ۰۱ تیر ۱۳۹۹

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

    پاسخ دادن
    • تیم پشتیبانی تیم پشتیبانی ۰۱ تیر ۱۳۹۹

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

      پاسخ دادن
      • U28456 ۰۱ تیر ۱۳۹۹

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

        پاسخ دادن
        • تیم پشتیبانی تیم پشتیبانی ۰۱ تیر ۱۳۹۹

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

          پاسخ دادن
  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 نامک اون دسته بندیه دقیقا نفهمیدم لطفا اگه میشه توضیح بدید ممنون.

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

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

      پاسخ دادن
  6. U6469 ۰۴ فروردین ۱۳۹۸

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

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

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

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

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

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

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

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

    پاسخ دادن
    • رضا حسینی راد رضا حسینی راد ۱۶ دی ۱۳۹۷

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

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

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

    پاسخ دادن