PDA

View Full Version : سوال: پست های مرتبط در Single page در وردپرس



amir868
شنبه 13 تیر 1394, 21:40 عصر
سلام خسته نباشید
من دارم یه قالب برای وردپرس طراحی میکنم و توی single page به مشکل خوردم میخوام زیره پست اصلی یه قسمت برای پست های دیگه ای که توی یک Category با پست اصلی مشترک هستد هم بیارم.
به طور مثال اگه single page مربوط به کتابی از "نویسنده A " هستش میخوام بقیه کتاب های " نویسنده A " هم آورده بشه.
مشکل اینجاس Category ها اسم و ID شون برای هر نویسنده تغییر میکنه و من نمیدونم چجور کدی بنویسم که برای همه پست ها جواب بده...




راه حلی که خودم به نظرم اومد این بود که یه Parent Category بسازم با اسم نویسنده ها و با یه کد , ID زیر مجموعه هاش رو بگیرم اما متاسفانه نتونستم اجراش کنم.
ممنون میشم کمک کنید یا راه حل بهتری پیشنهاد بدید

asghar2008
یک شنبه 14 تیر 1394, 01:08 صبح
سلام

کافیه کد زیر را در فایل single.php قالب خود در هرجایی که میخواید مطالب مرتبط نشون داده بشود قرار دهید :




<?php


//for use in the loop, list 5 post titles related to first tag on current post


$tags = wp_get_post_tags($post->ID);


if ($tags) {


echo 'Related Posts';


$first_tag = $tags[0]->term_id;


$args=array(


'tag__in' => array($first_tag),


'post__not_in' => array($post->ID),


'showposts'=>5,


'caller_get_posts'=>1


);


$my_query = new WP_Query($args);


if( $my_query->have_posts() ) {


while ($my_query->have_posts()) : $my_query->the_post(); ?>


<a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php
the_title(); ?></a><br/>


<?php


endwhile;


}


}
?>






توجه کنید برای کنترل تعداد مطالب قابل نمایش مقدار 5 را در ‘showposts’=>5, تغییر دهید.

amir868
یک شنبه 14 تیر 1394, 01:36 صبح
ممنون بابت جوابتون ولی متاسفانه کدی که شما نوشتید مطالب رو بر اساس tag یا همون برچسب فرا میخونه و همچنین اولین تگی که به پست زده میشه رو ملاک قرار میده اینطوری اگه من تگ مربوط به نویسنده رو دوم یا سوم بیارم مطالب به هم میریزه...
من میخوام بر اساس دسته بندی باشه و اون هم یک دسته خاص که توی هر پست متغیره ولی میتونه parent Category ثابت داشته باشه....
ممنون میشم اگر بتونید بازهم راهنماییم کنید...