اگر قصد دارید پستهای وردپرس را بصورت تصادفی در قالب سایتتان نمایش دهید پس تبریک چونکه اکنون در زمان درست در مکان درست قرار دارید با نمایش مطالب تصادفی در وردپرس با digital98 همراه باشید.

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

6 مورد کد متفاوت به شما ارائه می دهیم بسته به نیازتان انتخاب و استفاده نماید:

1- کد نمایش مطالب تصادفی با کد رندوم

در این روش کافیست کد زیر را در قسمتی از قالب وردپرس که می خواهید پستهای تصادفی در آنجا نمایش داده شود کپی کنید:

<ul>
<?php $recent = new WP_Query("orderby=rand&showposts=20"); while($recent->have_posts()) : $recent->the_post();?>
<li><a alt="<?php the_title(); ?>" title="<?php the_title(); ?>" href="<?php the_permalink(); ?>">
<?php the_title(); ?>
</a></li>
<?php endwhile; ?>
</ul>

می توانید با تغییر عدد ۲۰ در کد بالا تعداد پستهای تصادفی را تغییر دهید.

2- کد نمایش مطالب تصادفی با فایل functions.php و شورتکد

در این روش شما باید با کدنویسی آشنایی داشته باشید تا در صورت بروز مشکل بتوانید آن را برطرف کنید. ابتدا باید کدهای زیر را در فایل functions.php کپی کنید.

function wpb_rand_posts() { 
$args = array(
'post_type' => 'post',
'orderby' => 'rand',
'posts_per_page' => 5, 
);
$the_query = new WP_Query( $args );
if ( $the_query->have_posts() ) { 
$string .= '<ul>';
while ( $the_query->have_posts() ) {
$the_query->the_post();
$string .= '<li><a href="'. get_permalink() .'">'. get_the_title() .'</a></li>';
}
$string .= '</ul>';
/* Restore original Post Data */
wp_reset_postdata();
} else {
$string .= 'no posts found';
}
return $string; 
} 
add_shortcode('wpb-random-posts','wpb_rand_posts');
add_filter('widget_text', 'do_shortcode');

این کدها به سادگی یک تابع جدید ایجاد کرده و ۵ پست تصادفی را نمایش داده خواهد شد با استفاده از این کدها شما میتوانید به راحتی پست های تصادفی را در هر قسمت از وب سایت خود که میخواهید نمایش دهید.
حالا شما میتوانید پست های تصادفی را در هر قسمت که میخواهید نمایش دهید فقط کافیست از کد کوتاه [wpb-random-posts] استفاده کنید. برای اطلاع از قرار دادن شورتکد در پوسته وردپرس آموزش استفاده در از شورتکد در قالب وردپرس را مشاهده نمائید.

نکته: در صورتی که عدد ۱۰ که در خط دوم کد قرار را در کد عوض کنید می توانید تعداد نمایش مطالب را تغییر دهید. این عدد در واقع تعداد مطالبی را که نمایش داده می شوند را تعیین می کند.

3- کد نمایش مطالب تصادفی از یک نوع پست خاص

حال به سادگی می توانیم فیلتر هایی را نیز به دلخواه به این کد اضافه کنیم، به عنوان مثال نمایش لیست از مطالب تصادفی یک نوع پست تایپ خاص مثلا پست تایپ download که مربوط به محصولات در افزونه edd می باشد، به جای download هر نام پست تایپ دیگری را نیز می توانید در این کد قرار دهید.

<ul>
<?php $posts = get_posts(array('posts_per_page' => 10,'post_type'=> 'download','orderby'=> 'rand')); foreach($posts as $post) { ?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php } ?>
</ul>

4- کد نمایش مطالب تصادفی از یک دسته بندی خاص

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

<ul>
<?php get_posts(array('posts_per_page' => 10,'category'=> 1,'orderby'=> 'rand')); foreach($posts as $post) { ?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php } ?>
</ul>

5- کد نمایش مطالب تصادفی در سایدبار

از طریق هاست و یا از مسیر پیشخوان وردپرس » نمایش » ویرایشگر، این فایل را به حالت ویرایش در آورید و کد زیر را داخل ان جای دهید.

<li><h2>Random Post</h2>
<ul>
<?php $posts = get_posts('orderby=rand&numberposts=5'); foreach($posts as $post) { ?>
<li><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a>
</li>
<?php } ?>
</ul>
</li>

خب فایل را ذخیره سازی و جهت مشاهده نتیجه وارد سایت شید , خواهید دید به شکلی زیبا این امکان اضافه شده همچنین در داخل این کد عددی ۵ وجود دارد که یعنی ۵ پست نمایش داده شود می توانید تغییر دهید.اگر با css هستید می توانید برای این کد و امکان css بنویسید و زیبایی آن را بیشتر کنید.مواردی مانند چیدمان ، رنگبندی ، نحووه نمایش و …

5- کد نمایش مطالب تصادفی در سایدبار

وردپرس به طور پیش فرض پست ها را به ترتیب تاریخ با گزینه های صعودی یا نزولی نمایش می دهد. اگر ترجیح می دهید پست های تصادفی را در صفحه اصلی خود نشان دهید ، بنابراین هر وقت کسی از سایت شما بازدید می کند ، انتخاب متفاوتی از پست را مشاهده کند

اولاً ، چرا شما می خواهید این کار را انجام دهید ممکن است پست های قدیمی در سایت شما به همان اندازه پست های جدید مرتبط بوده و خوانده نشوند زیرا به دلیل تاریخ بسیار عمیق مدفون شده اند. در حالی که تعدادی افزونه وجود دارد که این قابلیت را ارائه می دهند ، آنها معمولاً این مورد را فقط برای ابزارک ها ارائه می دهند. اما اگر به شما بگویم که می توانید با پنج خط کد این کار را انجام دهید چه می گویید.

کد زیر را کپی کرده و در فایل فانکشن قالب خود قرار دهید.

add_action('pre_get_posts','alter_query');
function alter_query($query){
if ($query->is_main_query() && is_home())
$query->set('orderby', 'rand'); //Set the order to random
}

این آموزش بسیار کاربردی هم به پایان رسید