قصد دارم در این مطلب یک آموزش نسبتا تخصصی از وردپرس برای دوستان قرار بدیم ، در این آموزش یک کوئری رو معرفی میکنیم که با استفاده از آن می توانید مطالب مشابه را با هر ویژگی خاصی چه با تصویر شاخص ، تعداد مشاهدات و … بتوانید به نمایش بگذارید.
ابتدا به ویرایشگر وردپرس مراجعه کنید و به single.php بروید. در جای مناسب کد زیر را قرار بدهید.
دقت کنید این مطالب مرتبط بر اساس تگ ها و برچسب مطالب بعنوان مطالب مرتبط نمایش داده می شوند.
<?php
$orig_post = $post;
global $post;
$tags = wp_get_post_tags($post->ID);
if ($tags) {
$tag_ids = array();
foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id;
$args=array(
'tag__in' => $tag_ids,
'post__not_in' => array($post->ID),
'posts_per_page'=>4, // تعداد مطالب مرتبط.
'ignore_sticky_posts' => 1
);
$my_query = new wp_query( $args );
while( $my_query->have_posts() ) {
$my_query->the_post();
?>
<div class="relatedthumb">
<li><h3><a rel="external" href="<?php the_permalink()?>"><?php the_title(); ?></a></h3></li>
</div>
<? }
}
$post = $orig_post;
wp_reset_query();
?>
خب حالا با استفاده از کوئری بالا شما می توانید مطالب مرتبط را به راحتی در صفحه ببینید.
برای تغییر تعداد مطالب مرتبط در کوئری بالا قسمتی که نوشته شده مطالب مرتبط تعداد رو تغییر بدید که بنده ۴ گذاشتم.
کد دوم
عنوان مثال اگر دو پست متفاوت یک دسته بندی یکسان داشته باشند این کد یکی از پست ها را در صفحه پست دیگر به عنوان مطلب مرتبط نمایش میدهد
تنها کافیست کد زیر را در صفحه single.php و درون حلقه مطالب قرار دهید
<ul>
<?php
$related = get_posts( array( 'category__in' => wp_get_post_categories($post->ID), 'numberposts' => 5, 'post__not_in' => array($post->ID) ) );
if( $related ) foreach( $related as $post ) {
setup_postdata($post); ?>
<li>
<a href="<?php the_permalink(); ?>">
<?php the_title(); ?>
</a>
</li>
<?php }
wp_reset_postdata(); ?>
</ul>
اگر قصد دارید مطالب مرتبط را خارج از حلقه نمایش دهید، باید اول توجه داشته باشید که این کد فقط در صفحه single.php اجرا میشود و دوم کد کوچک زیر را در ابتدای اسکریپت اصلی که بالا گفتیم قرار دهید یعنی بعد از <?php و قبل از $related
global $post;


