رفتن به مطلب

قالبهایی خاص برای هر یک از دسته ها


پست های پیشنهاد شده

با عرض سلام

بنده در سایتم در قسمت موضوعات 3 دسته دارم

1- بخش آموزش

2- مقالات آموزشی

3- دانلود رایگان

طبیعتا به این صورت است که دسته ها از قالب category پیروی میکنند . حالا چگونه می توانم یک قالب دیگر نیز برای موضوعات در نظر بگیرم . یعنی بخش آموزش و مقالات از همون category استفاده کنند و برای بخش دانلود رایگان قالبی دیگر را در نظر بگیرم مثلا categoryfb ؟

سوال بعدی ؟ چگونه کاری کنم یک موضع خواص در صفحه index نمایش داده نشه و از طریق آخرین مطالب دسته خاص اونو نمایش بدم

ویرایش شده توسط mrasoul
لینک به ارسال

سلام، شما دو راه دارید. یکی اینکه بیایید توی فایل category.php با دستور شرطی بررسی کنید اگر کتگوری فلان بود فلان فایل رو نمایش بده وگرنه فلان فایل رو... اطلاعات بیشتر : is category

راه ساده تر اینه که بیایید برای دسته مورد نظر یک قالب طراحی کنید و بعد اسم فایل رو به این صورت بزارید : category-55.php یا category-download.php

اطلاعات بیشتر : Category Templates

موفق باشید.

لینک به ارسال

اگه درست متوجه شده باشم باید در این


<?php if (is_category('Category A')) : ?>
<p>This is the text to describe category A</p>
<?php elseif (is_category('Category B')) : ?>
<p>This is the text to describe category B</p>
<?php else : ?>
<p>This is some generic text to describe all other category pages,
I could be left blank</p>
<?php endif; ?>

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

ویرایش شده توسط mrasoul
لینک به ارسال

راه دومی که فرمودند رو انجام بدید هم ساده تره و هم مصرف منابعش کمتر

درسته ایشون کامل واضح گفتن من یکم گیج گیری درآوردم و دنبال کارهای اضافی بودم من اگر بیام و نامک لاتین خودم رو با خط فاصله بعد زا category قرار بدم ( category-slug.php ) خودکار مطالب اون دسته رو با قالبی جدید که ساختم نشون میده . مثلا نامک لاتین دسته بنده freebie و به این صورت می شود category-freebie.php .

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

در مورد مشکل دوم ؟ چگونه کاری کنم که موضوعی رو که میخوام رو اصلا توی صفحه index سایتم نشون نده .

لینک به ارسال

درود دوست عزیز ابتدا افزونه WP Show IDs رو نصب کن تا ای دی هر دسته رو بدونی

بعد اینکه نصب کردی تو وردپرس برو به قسمت دسته ها(yourdomain.com/wp-admin/edit-tags.php?taxonomy=category)

تا ای دی دسته ای که میخوای براش قالب جدا تعیین کنی رو بدست اوردی

9999788855.png

مثلا مقاله اموزشی با ای دی 10

حالا یه فایل با نام category-10.php کنار قالب category.php تو هاستت ایجاد کن و کد های دلخواه تو وارد کن

حالا نوبت میرسه به معرفی قالب به وردپرس

فایل function.php رو باز کن (اگه نداری یکی با همین نام درست کن) و کد زیر رو داخلش بذار:

add_filter( 'category_template', 'my_category_template' );//
function my_category_template( $template ) {
if( is_category( 10 ) )// ا$template = locate_template( array( 'category-10.php', 'category.php' ) );

return $template;
}

و سیو کن

الان وقتی به دسته مورد نظرت وارد میشی قالب دلخواهت نمایش داده میشه

نکته ها:

*پیشنهاد میشه به جای نام گذاری category-id.php نام دسته رو بیاری بشه category-name daste.php

تا بعدنا مشکلی از بابت شناسایی قالب نداشته باشی

اگه بخوای چندین قالب برا چندین دسته اعمال کنی

همون کد رو تکرار کن با شرط if به اینصورت:


add_filter( 'category_template', 'my_category_template' );
//

function my_category_template( $template ) {

if( is_category( 10) )
$template = locate_template( array( 'category-10.php', 'category.php' ) );
elseif( is_category( 11 ) )
$template = locate_template( array( 'category-11.php', 'category.php' ) );
elseif( is_category( 12 ) )
$template = locate_template( array( 'category-12.php', 'category.php' ) );
elseif( is_category( 13 ) )
$template = locate_template( array( 'category-13.php', 'category.php' ) );
return $template;

}

ویرایش کن

موفق باشی

ویرایش شده توسط p47ri0t
لینک به ارسال

درود دوست عزیز ابتدا افزونه WP Show IDs رو نصب کن تا ای دی هر دسته رو بدونی

بعد اینکه نصب کردی تو وردپرس برو به قسمت دسته ها(yourdomain.com/wp-admin/edit-tags.php?taxonomy=category)

تا ای دی دسته ای که میخوای براش قالب جدا تعیین کنی رو بدست اوردی

9999788855.png

مثلا مقاله اموزشی با ای دی 10

حالا یه فایل با نام category-10.php کنار قالب category.php تو هاستت ایجاد کن و کد های دلخواه تو وارد کن

حالا نوبت میرسه به معرفی قالب به وردپرس

فایل function.php رو باز کن (اگه نداری یکی با همین نام درست کن) و کد زیر رو داخلش بذار:

add_filter( 'category_template', 'my_category_template' );//
function my_category_template( $template ) {
if( is_category( 10 ) )// ا$template = locate_template( array( 'category-10.php', 'category.php' ) );

return $template;
}

و سیو کن

الان وقتی به دسته مورد نظرت وارد میشی قالب دلخواهت نمایش داده میشه

نکته ها:

*پیشنهاد میشه به جای نام گذاری category-id.php نام دسته رو بیاری بشه category-name daste.php

تا بعدنا مشکلی از بابت شناسایی قالب نداشته باشی

اگه بخوای چندین قالب برا چندین دسته اعمال کنی

همون کد رو تکرار کن با شرط if به اینصورت:


add_filter( 'category_template', 'my_category_template' );
//

function my_category_template( $template ) {

if( is_category( 10) )
$template = locate_template( array( 'category-10.php', 'category.php' ) );
elseif( is_category( 11 ) )
$template = locate_template( array( 'category-11.php', 'category.php' ) );
elseif( is_category( 12 ) )
$template = locate_template( array( 'category-12.php', 'category.php' ) );
elseif( is_category( 13 ) )
$template = locate_template( array( 'category-13.php', 'category.php' ) );
return $template;

}

ویرایش کن

موفق باشی

البته از نسخه 2.7 به بالا نیازی به فیلتر گذاری نیست و خود وردپرس از روی نام فایل اونرو تشخیص می ده

لینک به ارسال

ممنون از همه شما واقعا کمک بزرگی کرد .

هنوز سوال دوم بنده پابرجاست . چگونه کاری کنم یک موضوع خاص رو توی صفحه ی index نشون داده نشود .

یک نکته ای که به ذهنم رسید . خوب من کاری کردم موضوع دانلود رایگان با قالبی که متفاوت با صفحه category است نشان داده بشه . خوب این از این . وقتی از قسمت جستجو مطلبی رو جستجو میکنی ( از آنجایی که قالب search با قالب category و index یکی هست ) مشکل پیش میاد چرا که اگه موضوع دانلود رایگان نیز جستجو شود با قالب search (همان قالب category) نشون داده میشه . ولی قالبی که مد نظر منه برای اینکه همیشه این موضوع دانلود رایگان باهاش نشون داده بشه category-down می باشد . میتونم از همین طریق صفحه ای به اسم search-down نیز بسازم ؟

یعنی این موضوع دانلود هم صفحه category مخصوص خود را داشته باشه و هم صفحه search .

البته فک کنم اینکار باعث ایجاد نقص میشه . ممکنه موضوع دانلود رایگان با موضوعات دیگر به همراه هم جستجو شود پس بنظرم نمیشه 2 تا قالب search داشت . درسته ؟

ویرایش شده توسط mrasoul
لینک به ارسال

درسته ایشون کامل واضح گفتن من یکم گیج گیری درآوردم و دنبال کارهای اضافی بودم من اگر بیام و نامک لاتین خودم رو با خط فاصله بعد زا category قرار بدم ( category-slug.php ) خودکار مطالب اون دسته رو با قالبی جدید که ساختم نشون میده . مثلا نامک لاتین دسته بنده freebie و به این صورت می شود category-freebie.php .

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

در مورد مشکل دوم ؟ چگونه کاری کنم که موضوعی رو که میخوام رو اصلا توی صفحه index سایتم نشون نده .


function exclude_category( $query ) {
if ( $query->is_home() && $query->is_main_query() ) {
$query->set( 'cat', '-1,-1347' );
}
}
add_action( 'pre_get_posts', 'exclude_category' );

در فایل functions.php قرار بدید بجای منفی یک و منفی هزار و سیصد و چهل و هفت آی دی دسته بندی ها را با علامت منفی قرار بدید

و برای اینکه در نتایج جستجو هم موضوع دیده نشه


function exclude_category( $query ) {
if (( $query->is_home() || $query->is_search()) &&( $query->is_main_query()) ) {
$query->set( 'cat', '-1,-1347' );
}
}
add_action( 'pre_get_posts', 'exclude_category' );

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...