رفتن به مطلب

تابع زیر دسته های وردپرس


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

سلام اگه بخوام به این تابع بین هر دسته یه / (اسلش) قرار بدم باید کجا بذارم؟


<?php
wp_list_categories("orderby=id&show_count=0&child_of=catID&title_li=");
?>

لینک به ارسال

برای این تابع فقط می تونید style لیست را تعریف کنید

از این تابع استفاده کنید


<?php echo get_the_category_list( '/','','' ); ?>

لینک به ارسال

با css بگذارید


<ul class="my-cats-list">
<?php
wp_list_categories("orderby=id&show_count=0&child_of=catID&title_li=");
?>
</ul>

و


.my-cats-list li:before {
content:"/ ";
}

لینک به ارسال

ممنون درست شد.

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

پست 1:

دسته>محصول کشور:

زیردسته>آمریکا

پست 2:

دسته>محصول کشور:

زیردسته>آلمان

حالا چیزی که تو پست نشون میده اینه

محصول کشور: آمریکا/آلمان

.

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

لینک به ارسال

روشتون اشتباهه

این تابع کاری با حلقه شما نداره و به صورت مجزا عمل می کنه تابع اولی که دادم داخل حلقه عمل می کنه

لینک به ارسال

خوب من چند تا دسته و زیر دسته تو یه پست دارم و میخوام که زیردسته هر دسته تو یه پست نمایش داده بشه. با تابع شما تمام دسته هایی که انتخاب شده نمایش داده میشه. از چه تابعی استفاده کنم

مثلا من از این دسته ها استفاده میکنم:

محصول کشور: آمریکا

ژائر: کمدی/ماجراجویی/درام

کیفیت: 720P/1080P/480P

زیردسته های زیادی دارم و میخوام فقط اونایی که انتخاب شدن رو نمایش بدم

لینک به ارسال

روش اصولیش اینه

برای محصول کشور

ژانر

و کیفیت

سه تا تاکسونامی مجزا بسازید و مقدارهاشون رو به عنوان طبقات طبقه بندیتون معرفی کنید یعنی بجای استفاده از دسته بندی از تاکسونامی شخصی استفاده کنید

[sharedmedia=tutorials:tutorials:627]

لینک به ارسال

فقط هر تاکسونامی با چه تابعی فراخوانی میشه؟

اینو تو آموزش نگفته بودین

لینک به ارسال


<?php
get_the_terms( $post->id, 'taxonomy' ); ?>

که بجای taxonomy باید نام تاکسونامی مربوطه اش را بنویسید

لینک به ارسال

تابع فراخوانی همینه ولی توی کد ریجستری باید پست تایپتون هم معرفی بشه


register_taxonomy( 'price', array( 'post', 'my_post_type' ), $args );

لینک به ارسال

من تاکسونومی جدا ساختم و تابع فراخوانیش هم میذارم ولی چیزی نشون نمیده مشکلم کجاست؟

این هم کد های حلقه پست تو صفحه اصلی:


<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<div class="HomePost"> <a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('index-post'); ?></a><span class="rate"><span class="irate"><img src="<?php bloginfo('template_url'); ?>/images/rate.png" alt="rate"></span><span class="nrate"><?php echo get_field('emtiaz');?></span></span>
<h3><a href="<?php the_permalink(); ?>"><?php echo get_field('video-name');?></a></h3>

<ul>
<p style="color: red; font-size: 12px; text-align: center;"><?php echo get_field('shadow');?></p>
<li><span class="title">تاریخ انتشار:</span><span class="value"><?php echo get_field('data');?></span></li>
<li><span class="title">محصول کشور:</span><span class="value"><ul class="catgory-post">
<?php
get_the_terms( $post->id, 'contry' ); ?>
?></ul></span></li>
<li><span class="title">کارگردان:</span><span class="value"><?php echo get_field('kargardan');?></span></li>
<li><span class="title">امتیاز:</span><span class="value"> <?php echo get_field('emtiaz');?> از 10</span></li>
<li><span class="title">نمره منتقدین:</span><span class="value"><?php echo get_field('nomreh');?></span></li>
<li><span class="title">اطلاعات بیشتر:</span><span class="value"><a href="<?php echo get_field('more');?>" class="imdb-link"></a></span></li>
<li><span class="title">نویسندگان:</span><span class="value"><?php echo get_field('nevisandeh');?></span></li>
<li><span class="title">کیفیت:</span><span class="value"><ul class="catgory-post-cat">
<?php
get_the_terms( $post->id, 'size' ); ?>
</ul></span></li>
<li><span class="title">ژانر:</span><span class="value"><ul class="catgory-post-cat">
<?php
get_the_terms( $post->id, 'janer' ); ?>
</ul></span></li>
</ul>
<h6><a href="<?php the_permalink(); ?>" class="download">دانلود</a></h6>
<div class="clear"></div>
</div>
<?php endwhile; else: ?><?php endif; ?>

تابع ها توی قسمت های محصول کشور ، کیفیت و ژانر قرار داده شده است

لینک به ارسال

این تابع رو هم پیدا کردم گذاشتم کار کرد.


<?php $terms = get_terms("genre");
$count = count($terms);
if ( $count > 0 ){

foreach ( $terms as $term ) {
echo '<li><a href="#" data-filter=".'.$term->name.'">'.$term->name.'</a></li>';
}

} ?>

فقط مشکلی که داره اینه که لینک دسته رو نمیگیره.

لینک به ارسال

من از پست سفارشی استفاده نکردم و تو پست معمولی از تاکسونومی استفاده کردم. و از تابع فراخوانی اون استفاده کردم ولی چیزی نشون نمیداد.

کد های حلقه پستمو بالا گذاشتم. ممنون میشم اگه کمکم کنید.

لینک به ارسال

مشکلی نداره

شما جای نام پست سفارشی از post استفاده کنید

در ضمن نوع پست پیشفرض یک پست سفارشی هست

لینک به ارسال

فقط این تابع فراخوانی کرد که بازم مشکل داره:


<?php
$args = array(
'taxonomy' => 'genre',
'orderby' => 'name',
'show_count' => 0,
'pad_counts' => 0,
'hierarchical' => 1,
'title_li' => '',
'hide_empty' => 1
);
wp_list_categories( $args );
?>

مشکلش اینه که همه ی دسته ها رو نشون میده. یعنی اگه تو پست اولی تاکسونومی ژانر رو مثلا: کمدی و اکشن انتخاب کردیم و تو پست دومی: ماجراجویی و درام رو انتخاب کردیم. توی هر دو پست اینطور نشون میده: کمدی/اکشن/ماجراجویی/درام. درحالی که من فقط دو تا رو انتخاب کردم.

لینک به ارسال

من از پلاگین Advanced Custom Fields هم استفاده میکنم. یه قسمت به اسم طبقه بندی داشت که دسته ها رو نمایش میداد. با اون نمیشه درست کرد؟

لینک به ارسال

آقای فخار و آقا پارسا خیلی خیلی ممنون

از این تابع استفاده کردم و به جای lncat نام تاکسونومی رو قرار دادم.


<?php echo get_the_term_list( $post->ID, 'lncat', '<br />دسته: ', ', ', '' ); ?>

لینک به ارسال

بازم یه مشکل دیگه:

تاکسونومی هایی که درست کردم زمانی که روی دسته ها کلیک میکنم به صفحه 404 میرن.

صفحه ی taxonomy.php هم درست کردم ولی بازم اینطوریه. توی صفحه باید چیز خاصی باشه؟

لینک به ارسال

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

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

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

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

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

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

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

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

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