انجمن


مشکل با نمایش نام دسته‌ی مادر  (۷ نوشته)

  • amirsaam

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

    در پوسته تک‌نوشته باید در قسمتی از پوسته‌ام نام دسته‌ی مادر اون نوشته، نمایش داده بشه منتها مشکلی که وجود داره اینه که اگر اسم زیردسته‌ با حرفی شروع بشه که در الفبا جلوتر از اولین حرف دسته ی مادر باشه اونو نمایش میده. این هم کد من:

    elseif (is_single()) {
    		$category = get_the_category();
    		echo ($category[0]->cat_name);
    }

    به خاطر همین مشکل تعدادی از نوشته‌هام رو هنوز منتشر نکردم :( پیشاپیش ممنون

  • Mostafa

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

    اینو بررسی کنید ببینید جواب می‌ده:

    <?php
    	$category = get_the_category();
    	$tt =  ($category[0]->cat_ID);
    	echo get_the_category_by_ID( $tt );
    ?>
    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    amirsaam
  • amirsaam

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

    نه مصطفا جان. باز هم همون مشکله :( به عنوان مثال دسته‌ی مادر من اسمش «خط خطی»ه و الان زیردسته‌ام «بی‌بی‌پرس»
    پی‌نوشت: شاید من کد رو اشتباه دادم. کد اون قسمت بصورت کامل:

    <div id="page-top">
    	<div id="top-shadow"> </div>
    		<div class="container clearfix">
    
    			<div id="cat-description">
    				<h1 class="desc-title">
    					<?php if (is_category()) single_cat_title();
    					  elseif (is_tag()) single_tag_title();
    					  elseif (is_day()) the_time('F jS, Y');
    					  elseif (is_month()) the_time('F, Y');
    					  elseif (is_year()) the_time('Y');
    					  elseif (is_search()) the_search_query();
    					  elseif (is_author()) {
    							global $wp_query;
    							$curauth = $wp_query->get_queried_object();
    							echo $curauth->nickname;
    					  }
    					  elseif (is_single()) {
    							$category = get_the_category();
    							echo ($category[0]->cat_name);
    					  }
    					  else the_title(); ?>
    				</h1>
    				<?php if (!is_single()) include(TEMPLATEPATH . '/includes/postinfo.php'); else {
    					$category = get_the_category();
    					$catDesc = $category[0]->category_description;
    					if ($catDesc <> '') echo ('<p class="tagline">'.$category[0]->category_description.'</p>');
    				} ?>
    			</div>
    
    			<div id="buy-image2">
    				<img src="<?php bloginfo('template_directory'); ?>/images/<?php if ( $colorScheme == 'Purple' || $colorScheme == 'Black' ) echo($colorSchemePath); ?>iphone2.png" alt="" />
    				<a href="#" id="get-our-app"><?php _e('Get our App','MyAppTheme'); ?></a>
    			</div>
    
    		</div> 	<!-- end .container -->
    	<div id="bottom-shadow"> </div>
    </div> <!-- end #page-top -->
  • Parsa

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

    يك راه اينه كه كوچكترين شناسه رو به عنوان مادر حساب كنيد!
    $category[0]->cat_ID

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

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

    :دی پارسا جان خب من اونو تو echo بذارم که شناسه (آیدی) دسته رو نشون میده :دی

  • Parsa

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

    من دقيقا از كاري كه ميخواهيد انجام بديد. آگاه نيستم

    اما اگر دسته مادر جزو دسته ها هست
    ميشه كوچكترين شناسه رو با حلقه اي بدست آورد. سپس آن را به عنوان دسته مادر در نظر گرفت

    $lid = $cats[0]->cat_ID;
    foreach ( $cats AS $cat ) {
    	if($cat->cat_ID<$lid)
    		$lid = $cat->cat_ID;
    }
    echo get_the_category_by_ID( $lid );

    اگرم ميخواهيد دسته بالاتر را بدست آوريد تابع get_category_parents هست

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

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

    با اینها هم نشد. با کتگوری پرنتس هم نشد
    پی‌نوشت: با حلقه‌ی پارسا جان و کمی دست‌کاری کارم راه افتاد. ممنون. نتیجه ی کار:

    elseif (is_single()) {
         $category = get_the_category();
         $lid = $category[0]->cat_ID;
         foreach ( $category AS $cat ) {
              if($cat->cat_ID<$lid)
                   $lid = $cat->cat_ID;
         }
         echo get_the_category_by_ID( $lid );
    }

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



برچسب‌ها

هیچ برچسبی نیست.