×

نمایش مطالب تصادفی، پربازدیدترین ها بر اساس دسته بندی

خانه مقالات آموزشی نمایش مطالب تصادفی، پربازدیدترین ها بر اساس دسته بندی
نمایش مطالب تصادفی، پربازدیدترین ها بر اساس دسته بندی
مقالات آموزشی
17 مه 2021 199 یازدید

نمایش مطالب در وردپرس

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

کوئری نمایش آخرین مطالب

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

wp_get_recent_posts()

اگر تعداد خاصی از مطالب مدنظرتان است کافی است در پرانتز تعداد پست ها را وارد کنید به عنوان مثال من به ۷ پست آخر نیاز دارم برای این کار:

wp_get_recent_posts(7)

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

$my_query = new WP_Query( array( 
	//    'category_name' => 'news', 
	'post_type'      => 'post',
		'posts_per_page' => 7 
		
	) ); 
	  
	// Loop
	if ( $my_query->have_posts() ) {
		echo '<ul>';
		while ( $my_query->have_posts() ) {
			$my_query->the_post();    
	   echo '<li><a href="' . get_the_permalink() .'">' . get_the_title() .'</a></li>';
	 
				}
			echo '</ul>';
	}

نمایش مطالب تصادفی در وردپرس

اگر بخواهید مطالب شما به صورت تصادفی به کاربر نمایش داده شود کافی است orderby => rand به کوئری خود اضاف کنید پس کد بالا را به شکل زیر در می آوریم.

$my_query = new WP_Query( array( 
	//    'category_name' => 'news', 
	'post_type'      => 'post',
		'posts_per_page' => 7 ,
		 'orderby'  => 'rand'
	) ); 
	  
	// Loop
	if ( $my_query->have_posts() ) {
		echo '<ul>';
		while ( $my_query->have_posts() ) {
			$my_query->the_post();    
	   echo '<li><a href="' . get_the_permalink() .'">' . get_the_title() .'</a></li>';
	
				}
			echo '</ul>';
	}

نمایش مطالب محبوب بر اساس دسته بندی در وردپرس

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

کد زیر را در فایل function.php قرار دهید.

 

function gt_get_post_view() {

    $count = get_post_meta( get_the_ID(), 'post_views_count', true );

    return "$count views";

}

function gt_set_post_view() {

    $key = 'post_views_count';

    $post_id = get_the_ID();

    $count = (int) get_post_meta( $post_id, $key, true );

    $count++;


    update_post_meta( $post_id, $key, $count );
}

function gt_posts_column_views( $columns ) {
    $columns['post_views'] = 'Views';

    return $columns;

}


function gt_posts_custom_column_views( $column ) {


    if ( $column === 'post_views') {

        echo gt_get_post_view();

    }

}

add_filter( 'manage_posts_columns', 'gt_posts_column_views' );
add_action( 'manage_posts_custom_column', 'gt_posts_custom_column_views' );

و کد زیر را در فایل single.php و بین حلقه loop قرار دهید.

 gt_set_post_view(); 

حالا برای نمایش محبوب ترین مطالب بر اساس تعداد بازدید کد زیر را می نویسیم.

$my_query = new WP_Query( array( 
	//    'category_name' => 'news', 
	'post_type'      => 'post',
		'posts_per_page' => 7 ,
	//	 'orderby'  => 'rand',
		 'meta_key' => 'post_views_count',
		  'orderby' => 'meta_value_num'
	) ); 
	  
	// Loop
	if ( $my_query->have_posts() ) {
		echo '<ul>';
		while ( $my_query->have_posts() ) {
			$my_query->the_post();    
	   echo '<li><a href="' . get_the_permalink() .'">' . get_the_title() .'</a></li>';
	  echo gt_get_post_view();
				}
			echo '</ul>';
	}
نویسنده
علیرضا
یک وردپرس کار دوست داشتنی :)

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *