انجمن


نمایش sub categories برای ساید بار  (۷ نوشته)

  • aghili

    آفلاین
    عضو
    تعداد نوشته‌ها: ۲۴
    تشکر شده: ۲۳ بار
    # نوشته شده: ۱۰ سال پیش
    ۱۶ مرداد ۱۳۸۸ - ۱۱:۰۶

    با سلام
    سوالی داشتم از اساتید محترم که اگر راهنمایی فرمایید ممنون می شوم:
    من برای نمایش زیرگروهها (subcategories) از کد زیر در سایدبار استفاده می کنم:

    <h3>Categories</h3> <ul>
    <?php {  $this_category = get_category($cat);
    		{wp_list_categories('depth=1&child_of='.$this_category->cat_ID);}
    	  }
     ?>
    </ul></div>

    دلیلش این است که می خواهم وقتی وارد صفحه یک موضوع مثل موبایل می شویم تنها زیرگروههای آن نظیر تم و بازی و ... نشان داده شود نه تمام موضوعات اصلی.
    اما مشکل اینجاست که وقتی به زیرگروه مقصد می رسیم یعنی جایی که دیگر زیرگروهی وجود ندارد، پیغام no categories نمایش داده می شود.
    این پیغام از مسیر زیر می آید:
    wp-inclouds/category_template/ line:495

    if ( empty( $categories ) ) {
    		if ( 'list' == $style )
    			$output .= '<p align="center">' . __( "No categories" ) . '</p>';
    		else
    			$output .= __( "No categories" );

    سوال من اینه که چکار کنیم بجای این پیغام لیست گروههای یک level بالاتر رو نشون بده؟
    مرسی

  • Morteza

    آفلاین
    ناظم
    تعداد نوشته‌ها: ۳۴۰۲
    تشکر شده: ۳۱۲۸ بار
    # نوشته شده: ۱۰ سال پیش
    ۲۱ مرداد ۱۳۸۸ - ۱۴:۳۱

    خوب چرا از پلاگین برای نمایش زیرمجموعه استفاده نمیکنی؟
    هر چند مشکل شما رو متوجه نشدم چیه!!!!!! :-?

  • mamadosein

    آفلاین
    عضو
    تعداد نوشته‌ها: ۲۲
    تشکر شده: ۲ بار
    # نوشته شده: ۱۰ سال پیش
    ۲۲ مرداد ۱۳۸۸ - ۰۰:۳۲

    سلام
    من هم کامل متوجه نشدم

  • aghili

    آفلاین
    عضو
    تعداد نوشته‌ها: ۲۴
    تشکر شده: ۲۳ بار
    # نوشته شده: ۱۰ سال پیش
    ۲۲ مرداد ۱۳۸۸ - ۱۰:۰۷

    اصولا به پلاگین اعتقاد زیادی ندارم و سعی می کنم کدها رو مستقیم توی تم بزارم تا سریعتر باشه. پلاگین هم همین کار رو می کنه درسته؟
    اما توضیح بیشتر: اون کد بالا برای نمایش Category هاست اما با قرار دادن depth=1 یک level پایینتر از هر category رو نشون می ده. مثلا در سایت فرضی ما categoryهای زیر رو داریم:
    -موبایل : بازی موبایل، آنتی ویروس موبایل، تم موبایل و ...
    -اخبار: سیاست، گوناگون، علمی، ...
    -نرم افزار : مالتی مدیا، امنیتی، طراحی و ...
    -بازی: فلش، آرکید، استراتژی و ...
    در صفحه اول سایت این کد همه گروهها رو نشون میده اما وقتی وارد categoryموبایل می شیم فقط زیرگروههای اون رو نشون میده یعنی: بازی موبایل، آنتی ویروس موبایل، تم موبایل و ... و نه category های مربوط به اخبار و بازی و نرم افزار
    حال اگه وارد بازی موبایل بشید فقط زیرگروههای اون رو اگه وجود داشته باشه نشون می ده مثل : بازی سری 60، بازی جاوای موبایل و ...
    و اگه اون category زیر مجموعه نداشت، پیغام no category رو میده که گفتم از کجا صادر می شه.
    من می خوام مثلا اگه گروه تم موبایل زیر مجموعه نداشت به جای این پیغام یک level بالاتر رو نشون بده یعنی همه categories موبایل رو
    دیگه سلیس تر از این نمی تونم توضیح بدم
    ممنون می شم اگه راهنمایی کنید.

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    EleRam
  • zxo003

    آفلاین
    عضو
    تعداد نوشته‌ها: ۵۸۳
    تشکر شده: ۵۵ بار
    # نوشته شده: ۱۰ سال پیش
    ۳۰ مرداد ۱۳۸۸ - ۱۴:۵۳

    خوب میتونی دستور شرطی کنی که اگر مثلا زیر دایرکتوری وجود نداشت یک کد دیگه را بخونه (ان کدت هرچی دوستاری باشه )...

  • aghili

    آفلاین
    عضو
    تعداد نوشته‌ها: ۲۴
    تشکر شده: ۲۳ بار
    # نوشته شده: ۱۰ سال پیش
    ۳۱ مرداد ۱۳۸۸ - ۰۹:۳۷

    دقیقا فکر کنم همین طور باشه اما چون خودم برنامه نویسی بلد نیستم پرسیدم !
    مثلاً در

    if ( empty( $categories ) ) {
    		if ( 'list' == $style )
    			$output .= '<p align="center">' . __( "No categories" ) . '</p>';
    		else
    			$output .= __( "No categories" );

    به جای پیغام No categories چی وارد کنم که categories یک level بالاتر را نشان دهد؟
    مرسی

  • aghili

    آفلاین
    عضو
    تعداد نوشته‌ها: ۲۴
    تشکر شده: ۲۳ بار
    # نوشته شده: ۱۰ سال پیش
    ۴ آبان ۱۳۸۸ - ۱۶:۱۹

    یکی از راههای این کار استفاده از فانکشن هست. این هم یک راهنمایی. حالا کسی میتونه کمک کنه؟

درباره‌ی این موضوع



برچسب‌ها