رفتن به مطلب

کد نمایش نامک دسته مادر


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

سلام دوستان

میخوام متن نامک دسته مادر یک پست رو در بخشی از سایتم نمایش بدم
برای مثال یک پست در دسته بندی زیر دارم:
site.com/cat/game/action

و میخوام متن نامک دسته مادر این پست که کلمه "game" هست رو در جایی از قالب نمایش بدم. فقط میخوام متن باشه و بدون لینک
اگر کسی از دوستان میدونند لطفا راهنمایی کنند. متشکرم

لینک به ارسال

سلام و درود @ReziOnline

 

کد زیر میره توی فایل functions.php قالب سایت و زیر اولین

<?php

قرار میگیره.

function mehran_get_parent_slug($cat_ID) {
	
	if(!is_numeric($cat_ID))
		return "";
	
	$category = get_term((int) $cat_ID, 'category');
	
	if(is_wp_error($category))
		return "";
	
	while($category->parent != 0) {
		
		$category = get_term((int) $category->parent, 'category');
		
	}
	
	return $category->slug;
	
}

سپس توی هر فایل قالب که نیاز داشتید اصطلاحا slug دسته مادر رو نمایش بدید به این شکل عمل میکنید.

<?php echo mehran_get_parent_slug(7); ?>

عدد 7 منظور اینه که slug دسته مادر دسته فرزند 7 رو چاپ کن.

 

پ.ن : در صورتی که به تابع آیدی یک دسته فرزند رو بدید slug دسته مادرش رو چاپ میکنه ولی اگر آیدی دسته مادر رو بدید slug همون دسته ای که بهش دادید رو چاپ میکنه.

 

موفق باشید

لینک به ارسال

ممنون از شما. اما اگر بخوایم slug دسته مادر هر پست رو نشون بده باید چه کدی رو قرار داد؟ طوری که این کد رو در نوشته تکی بذاریم و slug دسته مادر هر پست رو نمایش بده

لینک به ارسال
در 8 ساعت قبل، ReziOnline گفته است :

ممنون از شما. اما اگر بخوایم slug دسته مادر هر پست رو نشون بده باید چه کدی رو قرار داد؟ طوری که این کد رو در نوشته تکی بذاریم و slug دسته مادر هر پست رو نمایش بده

برای این قضیه تابع شما به این شکل میشه:

function mehran_get_parent_category_slug($post_id = false) {
	
	$categories = get_the_category((int) $post_id);
	
	if(empty($categories))
		return '';
	
	$parent_cats_id = array();
	$parent_cats_slug = array();
	
	foreach($categories as $cat) {
		
		if($cat->parent == 0) {
			$parent_cats_id[] = $cat->term_id;
			$parent_cats_slug[$cat->term_id] = $cat->slug;
		}
		
	}
	
	if($parent_cats_id === array())
		return '';
	
	$parent = min($parent_cats_id);
	
	return $parent_cats_slug[(int) $parent];
	
}

شیوه استفادش هم به همون شکله فقط جای آیدی دسته بندی باید آیدی پست رو بهش بدید.

<?php echo mehran_get_parent_category_slug(7); ?>

توی کد بالا 7 آیدی پسته.

 

موفق باشید

لینک به ارسال

متشکرم. با کد زیر میشه بدون نیاز به کدهای توابع، نامک دسته رو نمایش داد:

<?php
    // get category slug in wordpress
    if ( is_single() ) {
        $cats =  get_the_category();
        $cat = $cats[0];
    } else {
        $cat = get_category( get_query_var( 'cat' ) );
    }
    $cat_slug = $cat->slug;
    echo $cat_slug;
?>

 

لینک به ارسال
در 2 ساعت قبل، ReziOnline گفته است :

متشکرم. با کد زیر میشه بدون نیاز به کدهای توابع، نامک دسته رو نمایش داد

این کد که شما دادی 100 در 100 نیست.

یعنی توی بعضی از مواقع slug دسته فرزند رو میده.

لینک به ارسال

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

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

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

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

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

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

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

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

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