ตัวอย่างการดึงบทความ (post) จากแต่ละหมวดหมู่ของเวิร์ดเพรส (WordPress)

อีกหนึ่งวิธีที่จะช่วยเพิ่มความน่าสนใจให้กับเว็บไซต์ของเราที่พัฒนาด้วยเวิร์ดเพรสคือ การจัดกลุ่มเนื้อหาที่เกี่ยวข้องกันหรืออยู่ในหมวดหมู่เดียวกัน โดยเฉพาะอย่างยิ่งเว็บไซต์ที่เกี่ยวกับข่าวสารวาไรตี้ต่างๆ การดึงข่าวหรือบทความแบ่งเป็นกลุ่มๆ จะช่วยให้ผู้เข้าชมเว็บไซต์ของเราใช่งานง่าย และค้นหาบทความหรือข่าวในกลุ่มที่ผู้ชมสนใจได้ง่ายตามไปด้วย

เกริ่นนานแล้ว มารู้จักกับพระเอกของงานดีกว่าครับ เป็นฟังก์ชัน get_posts( $args ) ที่เวิร์ดเพรสเองมีไว้ให้ใช้ครับนั่นเอง ดูจากชื่อฟังก์ชันก็น่าจะเดาได้แล้วนะครับว่า ฟังก์ชันนี้เป็นฟังก์ชันที่เอาไว้ใช้ดึงบทความหรือโพส โดยบทความนี้จะแสดงวิธีการดึงบทความที่เกี่ยวข้องกับหมวดหมู่ (category id) ที่เราสนใจ

ดูโค้ดตัวอย่างกันดีกว่าครับ ^^

<?php
	$args = array(
		'numberposts' => 5, //จำนวนของบทความที่ต้องการดึง
		'orderby' => 'rand', //ซุ่มบทความ
		'category' => 1 	//หมายเลขหมวดหมู่ต้องการดึงบทความ
	);

	$features = get_posts( $args );
	foreach($features as $post){
		setup_postdata($post);
		?>
		<a href="<?php get_permalink();?>"><?php the_title();?></a><br/>
		<?php
	}
?>

จากตัวอย่างจะเป็นการดึงบทความที่อยู่ในหมวดหมู่ที่มีหมายเลขหมวดหมู่ 1 (category id = 1) โดยซุ่มมาแสดงจำนวน 5 บทความครับ หรือถ้าหากเพื่อนๆ ต้องการที่จะดึง 5 บทความล่าสุดก็ทำได้ง่ายๆ ด้วยการลบ ‘orderby’ => ‘rand’ ออกครับ

เพื่อนๆ สามารถประยุกต์ใช้ฟังก์ชันนี้ได้อีกเยอะเลยครับ เช่น อาจจะดึงบทความที่มีแท็ก (tag) เดียวกันก็ได้ครับ เพื่อให้ได้บทความที่มีเนื้อหาใกล้เคียงกันเข้าไปอีก เพื่อนสามารถเข้าไปดูข้อมูลเกี่ยวกับฟังก์ชัน get_posts ได้ที่นี่เลยครับ