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

ابتدا باید آی دی (ID) دسته ای که میخواید اون رو از بقیه متفاوت کنید پیدا کنید. برای این کار می توانید به صفحه دسته ها در پنل وردپرس بروید و نشانگر موس را روی دسته مورد نظر ببرید و شماره ID رو از روی آدرس لینک آن پیدا کنید.

وارد فایل منیجر هاست خود شده و وارد پوشه wp-content شوید. در اینجا وارد پوشه themes شده و حالا وارد پوشه قالب سایتتان شوید. این پوشه شامل فایل های index.php و style.css و single.php و … هست.

در مرحله بعد باید یک فایل در پوشه قالب سایتتون با اسم category-IDNUM و با فرمت PHP بسازید. فرض می کنیم آیدی دسته بندی ما 3 بود. پس فایلی با نام category-3.php ایجاد می کنیم. این فایل، فایل قالب دسته بندی شماره 3 ما هست. پس هر کدی در این فایل وارد کنید بلافاصله در صفحه این دسته بندی نمایش داده می شود.

category-3.php

حالا کافیست codex هایی ( توابع وردپرس ) را که برای قالب جدیدتون نوشتید در این فایل قرار دهید و مطالب، متن ها و المنت های دلخواه خود را در این صفحه برای کاربر به نمایش بگذارید.

قالب متفاوت برای ادامه مطلب هر دسته

در بالا آموختید “برای هر دسته در وردپرس قالب جداگانه بسازید” و “برای هر برگه وردپرس قالب جداگانه بسازید” را با هم داشتیم. حال وقت آن است که قدمی جلوتر برویم و این بار ادامه مطلب هر دسته را متفاوت کنیم.
برای این کار ابتدا یک کپی از فایل single.php خود تهیه کنید و نام آن را به single-default.php تغییر دهید.
حالا کد زیر را باید در فایل single.php قالب خود کپی کنید و کد های دیگر داخل آنرا حذف کنید:

<?php
if (in_category('3')) {include (TEMPLATEPATH . '/single3.php');}
else { include (TEMPLATEPATH . '/single-default.php');}
?>

در خط دوم عدد ۳ نشانگر ID مربوط به دسته مورد نظر است و همانطور که نوشته ایم برای دسته شماره ۳ باید فایل single3.php را بسازیم و کد های خود را مطابق با خواسته خود در آن بنویسیم.
در خط بعد نیز ذکر شده که قالب پیشفرض برای دسته های دیگر چیست که همان فایل single-default.php است که در ابتدا با کپی کردن قبل از تغییر فایل single.php ساختیم.
حال اگر بخواهیم برای مثال چند دسته را با قالبی جدا ایجاد کنیم باید به همین روش عمل کنیم، برای مثال:

<?php post;
if ( in_category('2') ) { include(TEMPLATEPATH . '/single_category2.php'); }
elseif ( in_category('3') ) { include(TEMPLATEPATH . '/single_category3.php'); }
elseif ( in_category('4') ) { include(TEMPLATEPATH . '/single_category4.php'); }
else { include(TEMPLATEPATH . '/single-default.php'); }
?>

وردپرس برای خواندن قالب ادامه مطلب به فایل single.php مراجعه میکند و سپس در آن گفته میشود که اگر پست داخل دسته ۲ بود سراغ فایل single2.php برود و … و در انتها اگر هیچ کدام نبود فایل single- default.php باز شود.

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

گاها بری شما پیش آمده که بخواهید برای مطالب خود قالب ادامه مطلب جداگانه برای مطالب وردپرس خود اختصاص دهید و یکسری از مطالب خاص شما با قالب جدید بارگذاری شود . یک استایل یا قالب مخصوص آن صفحه را داشته باشید به طوری که استایل آن صفحه مثل تماس باما با بقیه برگه ها متفاوت باشد.

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

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

// Custom category templates by digital98.ir
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 را حتما بسازید و در قالب خود آپلود کنید همچنین کدهای مورد نظرتان را برای اجرا در صفحه فایل تکی دسته‌ بندی‌های مختلف در آن قرار دهید. (مثلا کدهای مربوط به صفحه تکی بدون سایدبار)

اگر متوجه شدید که صد افرین … اگر نه ! به مثالی دیگر با کمی تغییر توجه کنید.

برای انجام این کار ابتدا یک فایل php با نام دلخواه در کنار فایل single.php قالب خود ایجاد کنید.

مانند:

signle-cat5.php : ادامه مطلبی که جزء دسته بندی با شناسه ۵ بود این قالب بارگذاری شود .

default-single.php : در صورتی که ادامه مطلب جزء دسته بندی با شناسه ۵ نبود این قالب بارگذاری شود .

در این مرحله کد های فایل single.php خود را داخل default-single.php کپی کنید .

نکته: داخل فایل single.php کد های شرطی وارد میشود . چنان چه مطلب جزء دسته بندی ۵ بود قالب single-cat5.php را بارگذاری کنید در غیر اینصورت قالب default-single.php را بارگذاری کند .

کد زیر را داخل فایل single.php درج کنید :

<?php if (in_category('5')) {include (TEMPLATEPATH . '/single-cat5.php');
}
else { include (TEMPLATEPATH . '/default-single.php');
} ?>

در فایل single-cat5.php  را بصورت اختصاصی می توانید طراحی کنید و یک قالب منحصرد به فرد برای ادامه مطلب خود طراحی کنید.

فایل default-single.php در واقع همان فایل اصلی single.php می باشد.

  • قالب متفاوت و شرط های زیاد

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

<?php

if ( in_category('5') ) {
include(TEMPLATEPATH . '/single-cat5.php'); }

elseif ( in_category('2') ) {
include(TEMPLATEPATH . '/single-cat2.php'); }

elseif ( in_category('3') ) {
include(TEMPLATEPATH . '/single-cat3.php'); }

else { include(TEMPLATEPATH . '/single-default.php'); }

?>

قالب های متفاوت با نام های single-cat3.php , single-cat2.php , single-cat5.php ایجاد کنید.