BahramElf 3 ارسال شده در تیر 93 گزارش بازنشر ارسال شده در تیر 93 سلامدارم رو یک سایت با محتوای ماشین، موتور و... کار میکنم. پست های ماشین تو سایتم تو دوتا دسته عضو هست. دسته اول که ماهیت کلی هست "ماشین" و دسته دوم که کمپانی های سازنده هستند. مثل "هوندا"، "بی ام و"، "سوزوکی" و...یعنی یک پست همزمان تو دو دسته قرار داره "ماشین" و "تویوتا" یا مثلا "ماشین" و "بی ام و". حالا میخوام تمامی پست هایی که عضو دسته "ماشین" هستند، برحسب دسته دومشون که همون نام کپانی هست، مثلا "تویوتا"، یک تاریخچه در مورد اون دسته در انتهای مطالب پست های خودش نشون داده بشه. هدف هم این بوده که زمانی که کاربر داره یک ماشین از کمپانی X رو میبینه در انتهای اون مطلب یه تاریخچه کوتاه هم در مورد اون کمپانی باشه که اگه خواست بخونه. و این قسمت تاریخچه هم برای تمامی پست های اون دسته(کمپانی) تکراری خواهد بود. ممنون میشم راهنماییم کنید که راحت ترین و بهینه ترین روش برای پیاده سازی این کار چیه؟پ.ن: برای نمایش پست های دسته ماشین یک صفحه سینگل جدا درست کردم. single-carپ.ن: هیچ کدوم از دسته ها مادر دسته دیگه نیستندو به عنوان مثال: "ماشین" مادر "تویوتا" نیست. بلکه پست تو هر دو دسته عضوه. نقل قول لینک به ارسال
isk 4447 ارسال شده در تیر 93 گزارش بازنشر ارسال شده در تیر 93 (ویرایش شده) <?phpif (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?> ویرایش شده تیر 93 توسط isk 2 نقل قول لینک به ارسال
BahramElf 3 ارسال شده در تیر 93 مالک گزارش بازنشر ارسال شده در تیر 93 ممنون دوست عزیزاز طریق استفاده از تابع get_template_part چه طور؟ با این تابع هم میشه؟ واسه اینکه هی if ننویسیم میگم. چون 50-60 تا دستست. ترجیحا میخوام از یک راه سبک تر پیاده کنم اگه بشه نقل قول لینک به ارسال
isk 4447 ارسال شده در تیر 93 گزارش بازنشر ارسال شده در تیر 93 خب در این صورت بهتر اینه که کل دستههای مورد نیاز رو در یک array در یک فایل مثلاً cat-list.php به همراه متون مورد نظر با دستور foreach ذخیره و در نهایت این فایل رو در تمپلیت include کنید 1 نقل قول لینک به ارسال
BahramElf 3 ارسال شده در تیر 93 مالک گزارش بازنشر ارسال شده در تیر 93 با این تابع تست کردم میشه. کافیه به تعداد دسته های مورد نیاز صفحه استاتیک درست کرد، اسم هر صفحه رو هم با نامکه اون دسته یکی قرار بدیم. بعد تابع get_the_category اسم دسته پست جاری رو بدست میاریم و در تابع get_template_part در اون قسمت که میخوایم مطالب لود بشه قرار میدیم و تمام. مطالب صفحه استاتیک ما به نام دسته پست جاریمون اونجایی که میخوایم لود میشه.فقط یک مشکل دارم الان. همونطور که گفتم مطالب همزمان تو دو دسته هستند "ماشین" و مثلا "تویوتا" get_the_category یک آرایه بر میگردونه. چه طور اسلاگه دسته دوم رو بکشونم بیرون. نقل قول لینک به ارسال
isk 4447 ارسال شده در تیر 93 گزارش بازنشر ارسال شده در تیر 93 شما میگی 50-60 تا دسته دارید - پس یعنی 50-60 تا تمپلیت ایجاد کردید؟!!به هرحال سلیقهی شماست.با اون سبکی که بالا گفته شد تفکیک قائل میشه. اصولاً سایت های گالری که یه آلبوم در دستههای مختلف هستند برای تفکیک به اون صورت هم عمل میکنند. نقل قول لینک به ارسال
BahramElf 3 ارسال شده در تیر 93 مالک گزارش بازنشر ارسال شده در تیر 93 خوب چاره دیگه ای هم هست مگه؟ بلاخره واسه هرکدوم از دسته ها کد و متن متفاوتی هست دیگه، که باید اینو از قبل آماده و یکجا نگهداری کرد تا هر زمان لازم بود جای مناسبش لود بشه. حالا نمیدونم این همه فایل ایجاد کردن مشکل ایجاد نمیکنه؟ میشه شما یکبار دیگه روشی که گفتی رو دقیق تر توضیح بدی لطفا، حقیقت خوب نفهمیدم چه جوری شد. یکم ریز تر توضیح بده اگه ممکنه نقل قول لینک به ارسال
BahramElf 3 ارسال شده در تیر 93 مالک گزارش بازنشر ارسال شده در تیر 93 (ویرایش شده) الان از این کد استفاده کردمforeach(get_the_category() as $category){if($category->slug!='cars') get_template_part( $category->slug );}ولی خب ترجیح میدادم اگه میشد یه جوری از همین foreach هم استفاده نکرد. به لحاظ سنگینی کد و استفاده از منابع سرور. چون آخه دوتا دسته بیشتر ندارم و مشخصه که اون یکی که اسلاگش کاره نه اون یکی اما نمیدونم چه جوری. نمیدونم اول کدوم دسته رو میریزه تو آرایه که از رو ایندکس همون رو انتخاب کنم. شما نمیدونید؟ ویرایش شده تیر 93 توسط BahramElf نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .