رفتن به مطلب

نمایش یک متن ثابت در انتهای پست ها به تفکیک دسته


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

سلام

دارم رو یک سایت با محتوای ماشین، موتور و... کار میکنم. پست های ماشین تو سایتم تو دوتا دسته عضو هست. دسته اول که ماهیت کلی هست "ماشین" و دسته دوم که کمپانی های سازنده هستند. مثل "هوندا"، "بی ام و"، "سوزوکی" و...

یعنی یک پست همزمان تو دو دسته قرار داره "ماشین" و "تویوتا" یا مثلا "ماشین" و "بی ام و". حالا میخوام تمامی پست هایی که عضو دسته "ماشین" هستند، برحسب دسته دومشون که همون نام کپانی هست، مثلا "تویوتا"، یک تاریخچه در مورد اون دسته در انتهای مطالب پست های خودش نشون داده بشه. هدف هم این بوده که زمانی که کاربر داره یک ماشین از کمپانی X رو میبینه در انتهای اون مطلب یه تاریخچه کوتاه هم در مورد اون کمپانی باشه که اگه خواست بخونه. و این قسمت تاریخچه هم برای تمامی پست های اون دسته(کمپانی) تکراری خواهد بود. ممنون میشم راهنماییم کنید که راحت ترین و بهینه ترین روش برای پیاده سازی این کار چیه؟

پ.ن: برای نمایش پست های دسته ماشین یک صفحه سینگل جدا درست کردم. single-car

پ.ن: هیچ کدوم از دسته ها مادر دسته دیگه نیستندو به عنوان مثال: "ماشین" مادر "تویوتا" نیست. بلکه پست تو هر دو دسته عضوه.

لینک به ارسال

<?php
if (in_category('cat_toyota') {
// any text or HTML MarkUp about toyota brings here
} elseif (in_category('cat_bmw') {
// any text or HTML MarkUp about bmw brings here
} elseif (in_category('cat_nissan') {
// any text or HTML MarkUp about nissan brings here
?>

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

ممنون دوست عزیز

از طریق استفاده از تابع get_template_part چه طور؟ با این تابع هم میشه؟ واسه اینکه هی if ننویسیم میگم. چون 50-60 تا دستست. ترجیحا میخوام از یک راه سبک تر پیاده کنم اگه بشه

لینک به ارسال

خب در این صورت بهتر اینه که کل دسته‌های مورد نیاز رو در یک array در یک فایل مثلاً cat-list.php به همراه متون مورد نظر با دستور foreach ذخیره و در نهایت این فایل رو در تمپلیت include کنید

لینک به ارسال

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

فقط یک مشکل دارم الان. همونطور که گفتم مطالب همزمان تو دو دسته هستند "ماشین" و مثلا "تویوتا" get_the_category یک آرایه بر میگردونه. چه طور اسلاگه دسته دوم رو بکشونم بیرون.

لینک به ارسال

شما میگی 50-60 تا دسته دارید - پس یعنی 50-60 تا تمپلیت ایجاد کردید؟!!

به هرحال سلیقه‌ی شماست.

با اون سبکی که بالا گفته شد تفکیک قائل میشه. اصولاً سایت های گالری که یه آلبوم در دسته‌های مختلف هستند برای تفکیک به اون صورت هم عمل می‌کنند.

لینک به ارسال

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

لینک به ارسال

الان از این کد استفاده کردم


foreach(get_the_category() as $category){
if($category->slug!='cars')
get_template_part( $category->slug );
}

ولی خب ترجیح میدادم اگه میشد یه جوری از همین foreach هم استفاده نکرد. به لحاظ سنگینی کد و استفاده از منابع سرور. چون آخه دوتا دسته بیشتر ندارم و مشخصه که اون یکی که اسلاگش کاره نه اون یکی اما نمیدونم چه جوری. نمیدونم اول کدوم دسته رو میریزه تو آرایه که از رو ایندکس همون رو انتخاب کنم. شما نمیدونید؟

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

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

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

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

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

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

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

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

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

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