ساخت قالب 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 را حتما بسازید و کدهای مورد نظرتان برای اجرا در صفحه فایل تکی دستهبندیهای مختلف را در آن قرار دهید.
موفق باشید.
با سلام و خسته نباشید خدمت شما .
امکانش هست همین مثالی که زدید رو برای ایجاد صفحه سینگل خاص برای یک taxonomy بگید؟
کل اینترنت رو زیر و رو کردم اما نشد که بشه .
1 ماهه درگیرم سر این موضوع 🙁
در رابطه با in_taxonomy هم که یکی از دوستان رو معرفی کرید سرچ کردم چیزی دستگیرم نشد.
با سپاس
درود بر شما بسیار ساده هست. مثلا اگر اسم taxnomoy شما film هست کافیه نام فایل رو taxonomy-film.php قرار بدید.
این کار رو کردم الان ، قبلا هم انجام داده بودم جناب حسینی ،
اما نمیخونه ازین فایل taxonomy-videos.php
پاسخ کامنت بعدی رو مشاهده بفرمایید.
برای صفحه سینگل میخوام بنده که هر تکزونومی رو تو صفحه ای خاص نشون بده
از single-movie.php استفاده کنید. به جای movie نام پست تایپ دلخواه را وارد کنید
سلام
اگر اشتباه نکنم in_category فقط برای برسی دسته بندی های وردپرس بکار میرود برای دسته بندی های ووکامرس باید به چه شکل عمل کرد ؟
سلام
باید از in taxonomy استفاده شود
ممنون میشم کمی بیشتر توضیح بدید
در گوگل عبارت in taoxonomy را جستجو کنید با ذکر مثال در wordpress.org توضیح داده شده است.
سلام
این کار رو میشه با edd یا ووکامرسم کرد؟
برای قسمت صفحه محصولات
با سلام و احترام
بله امکانش هست
میشه توضیح بدین چه جوری میشه ؟
سلام . باید به این شکل استفاده شود.
single-product.php
یا
single-download.php
استاد همین دو مورد که فرمودین رو باید کجا کدای بالا قرار بدم
چون به جای کد single_template قرار میدم عمل نمیکنه چون انگار این علامت دش ( – ) نباید باشه
اصلا توی کد نیازی نیست استفاده کنید. شما باید توی پوشه قالبتون فایلهایی با این نام ها بسازید. شما عضو دوره ۰ تا ۱۰۰ طراحی سایت هستید. بخشی که مربوط به ساختار قالب وردپرس هست رو توی دوره ببینید با رسم تصویر توضیح دادیم این مورد رو
استاد من منظورم دقیقا همین محتوایی هست که طراحی متفاوت داشته باشه
من این سوال رو پرسیدم که آیا امکانش هست صفحات دانلود رو تو دسته بندی های مختلف طراحی مختلف براش قرار بدیم ؟
دقیقا مثل همین دسته بندی برای نوشته ها
شما الان توی این کدی که قرار دادین توضیخ دادین که اگر مطلب توی دسته بندی vip بود صفحه ای که اسمش single-cat-vip.php هست باز بشه
آیا برای صفحات دانلود edd میشه این کارو کرد ؟ وگرنه ساخت برگه های دانلود رو انجام دادیم کلا
برای اینکار همین کد مقاله رو استفاده کنید و به جای vip از نامک دسته بندی که توی EDD استفاده کردید استفاده کنید.
مهندس جان کار نمیکنه
درود و احترام و تشکر بابت این آموزش عالی
این کار برای پست ها هست
برای برگه های وردپرس هم میفرمایید چطور میتونیم چند برگه متفاوت مثل page.php بسازیم
چون اونجا دیگه بحث تگ یا دسته بنده وجود نداره
سلام
حتما به زودی مقالهای در ارتباط با این موضوع رو به سایت اضافه خواهیم کرد
با سلام خدمت شما یک سؤال داشتم این category که گفتین دقیقاً منظورتون چی بوده یعنی باید فایل category-vip.php باشد یا این نام vip نامک اون دسته بندیه دقیقا نفهمیدم لطفا اگه میشه توضیح بدید ممنون.
سلام category که ثابت هست. فقط vip با نام دسته بندی باید یکی باشه.
سلام
آدرس بازیابی رمزعبور wp-login.php?action=lostpassword میباشد. چه طور میتونیم برای صفحه بازیابی رمزعبور یک صفحه اختصاصی بسازیم؟ فقط میخوام یک صفحه اختصاصی بسازم و یک شرت کد درونش قرار دهم.
درود متاسفانه قابلیت تغییر این ادرس وجود نداره چون برای امنیت بیشتر از صفحات خود وردپرس استفاده کردیم.
واقعا ممنون از شما
این مطالبی که اموزش کدنویسی وردپرس هست فوق العاده و تک هستند همین طور ادامه بدین ممنونم
درود سپاس
سلام ممنون از پست مفیدتون طی چند هفته آینده حتما اجراییش میکنم .
فقط اگر ممکنه بگید امکانش هست این اتفاق به واسطه تگ هم بیوفته ؟
درود سپاس بله میتونید
مطلب بسیار خوبی بود و بنده هم همین سوال رو داشتم. سپاس.
سپاس از شما