رفتن به مطلب

مشكل با نام كتگوري


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

سلام

من توي قالب امدم يه قسمت عنوان گذاشتم تو قالب Category طوري كه وقتي وارد هر كدام از دسته بندي ها ميشي مينويسه: شما در دسته بندي <?php the_category(); ?> هستيد! كه بجاي دستور فوق ، نام اون دسته بندي رو بايد بنويسه ديگه!

اين درست كار ميكه توي زير دسته ها ولي توي دسته هاي مادر نه! يعني وقتي توي صفحه يه دسته مادر كه ميري ديگه توي قسمتي كه من گذاشتم يعني نام صفحه ، اسم اون دسته بندي رو ننوشه بلكه اسم دسته بندي ، نوشته اخري كه تو اون دسته ارسال شده رو نوشته!!

مثلا يه دسته مادر داريم به نام موتور سيلكت كه 2 تا زير دسته داره با نام تاير موتور سيكلت و ابزار موتور سيكلت

وقتي توي زير صفحات زير دسته ميري ، خيلي زيبا و درست بالاي صفحه نام زير دسته رو نوشته: شما در دسته : تاير موتور سيكلت هستيد و يا ابزار ...

ولي وقتي توي صفحه خود مادر ميري يعني موتور سيكلت ، بجاي اينكه اسم اين دسته رو تو قسمتي كه مشخص كردم بنويسه ، مياد نگاه ميكنه مطلب اخري كه ارسال شده مال كدام زير دسته است و نام اون رو مينويسه!!! برام عجيبه واقعا!

كدم رو اينجا ميزارم :


<div class="category-title">

<img src="<?php echo get_template_directory_uri(); ?>/images/category/big/<?php the_category_ID(); ?>.png" class="title-img" />

<span class="title-fas">
<?php the_category(); ?>
</span><span class="title-fas">شما در اين بخش هستيد:</span>

</div>

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

بهترین کار این هست که شما آی دی دسته جاری رو بگیرید و بعد با تابع نام دسته رو برگردان کنید.

هر دو مورد قبلا توضح داده شده:


<?php
$category = get_the_category();
$category_id = $category->cat_ID;

$yourcat = get_category($category_id);
if ($yourcat) {
echo $yourcat->name;
}
?>

لینک به ارسال

مرتضي جان با اون كد نتونستم خروجي بگيرم ، و از كد زير استفاده كردم:


<?php
$category_id = '';
foreach((get_the_category()) as $category) {
$category_id= $category->cat_ID;
}
$yourcat = get_category($category_id);
if ($yourcat) {
echo $yourcat->name;
}
?>

اين نشون ميده نام رو ولي مشكم پا برجاست! گتگوري هايي كه زير دسته دارن، وقتي ميري توي دسته اصلي توي اون بخش كه عرض كردم بجاي نوشتن نام كتگوري اصلي (زماني كه توي برگه خود گتگوري مادر هستي) بجاي نوشتن نام كتگوري مادر ، اسم گتگوري اخرين مطلب ارسال شده رو نشون ميده! مشكل حل نشد و اين تابع كه استفاده كردم مثل همون تكه كد پست شماره يكي هست كه دادم بهتون!!

لینک به ارسال

این رو تست کنید:

<?php
if ( is_single() ) {
$cats = get_the_category();
$cat = $cats[0];
}
else {
$cat = get_category( get_query_var( 'cat' ) );
}
echo $cat->name;
?>

لینک به ارسال

احسنت.. درست شد مرتضي جان. فقط كمي اين دستور برام نا اشناست اگر امكانش هست يه كوچولو توضيح بدبد ازش ممنون ميشم (اين مورد كاملا مشكل من رو حل كرده فقط ميخوام كمي از اين دستورات وردپرسي بيشتر اطلاع كسب كنم )

لینک به ارسال

شرط بررسی میکنه اگر در تک پست باشه:

لیست دسته های پست رو میگیره ، شناسه دسته اولی رو در متغییر ذخیره میکنه

در غیر این صورت (در برگه دسته باشه)

شناسه دسته ای که کوئری گرفته شده رو بدست میاره با get_query_var و با get_category مشخصات دسته

در پایان هم نام دسته از آبجت چاپ میشه

لینک به ارسال

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

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

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

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

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

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

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

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

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