การเป็นนักพัฒนาเว็บไซต์มีเรื่องสนุกอยู่อย่างครับ นั่นคือการได้มีโอกาสทำงานกับหลากหลายธุรกิจ แต่ละธุรกิจก็จะมีโมเด็ลให้เราได้ศึกษา และมี Requirement สำหรับทำเว็บไซต์ที่แตกต่างกัน แต่ละงานที่ผมมีโอกาสได้เข้าไปมีส่วนร่วม เป็นประหนึ่งอีกหนึ่งห้องเรียนที่ทำให้ผมได้เรียนรู้และได้ใช้ทักษะที่มีมามาพัฒนาจาก Requirement ให้ออกมาเป็นรูปเป็นร่างขึ้นได้
เมื่อเร็วๆมานี้ ผมทำโปรเจ็คของลูกค้าท่านหนึ่งครับ ซึ่งหนึ่งใน Requirement ของลูกค้าคือสามารถเรียงลำดับความ Popular ของบทความได้ โดยเรียงจากยอด Like, Share ผ่านเฟสบุค ซึ่งก็เป็นอีกความต้องการที่ท้าทายความสามารถครับ เพราะว่าเว็บส่วนใหญ่ที่ทำไม่ค่อยมี Requirement แบบนี้สักเท่าไหร่
ผมจึงนำเทคนิคการทำมาแนะนำครับ โดยในบทความนี้ผมจะแนะนำการแสดงยอดทั้งหลายลงในเว็บไซต์ของเราครับ
ก่อนอื่นนั้นเราต้องมาดูก่อนว่า การที่เราจะสามารถแสดงยอดต่างๆบนเว็บไซต์ของเรานั้น เราต้องมีอะไรบ้าง?
อย่างแรก เราต้องมี URL ของหน้าเว็บที่เราต้องการเช็คยอดไลค์ก่อนครับ เช่น https://buksohn.com/case-study-for-making-wordpress-theme.html
อย่างที่สอง เราต้องใช้ Facebook API ในการตรวจเช็ค ซึ่ง จะมีโครงสร้างแบบนี้ครับ http://api.facebook.com/restserver.php?method=links.getStats&urls=[URL เว็บของเรา] เช่น ถ้าผมจะตรวจสอบยอดทั้งหมดจากลิงค์ด้านบน ผมก็เขียนว่า http://api.facebook.com/restserver.php?method=links.getStats&urls=https://buksohn.com/case-study-for-making-wordpress-theme.html
ลองคลิกลิงค์ ดูครับ แล้วจะเห็นว่ามันคืนค่าออกมาอย่างไร ใช่ครับ มันคืนค่าออกมาเป็นโครงสร้างภาษา XML ดังนี้
<link_stat> <url>WordPress Theme ใครๆก็ทำได้ Case Study จากเด็กอายุ 16</url> <normalized_url>WordPress Theme ใครๆก็ทำได้ Case Study จากเด็กอายุ 16</normalized_url> <share_count>13</share_count> <like_count>119</like_count> <comment_count>11</comment_count> <total_count>143</total_count> <click_count>0</click_count> <comments_fbid>668972889853410</comments_fbid> <commentsbox_count>3</commentsbox_count> </link_stat> </links_getStats_response>
และถ้าเราต้องการจะพิมพ์ค่าต่างๆพวกนี้ออกมาบนหน้าเว็บ เราก็แค่ echo มันออกมาครับ เดี๋ยวเรามาดูโค้ดการใช้งานเต็มกันครับ
<?php $source_url = "https://buksohn.com/case-study-for-making-wordpress-theme.html"; $url = "http://api.facebook.com/restserver.php?method=links.getStats&urls=".urlencode($source_url); $xml = file_get_contents($url); $xml = simplexml_load_string($xml); echo "Share --- ".$shares = $xml->link_stat->share_count; echo "<br/>"; echo "Like --- ".$likes = $xml->link_stat->like_count; echo "<br/>"; echo "Comments ---".$comments = $xml->link_stat->comment_count; echo "<br/>"; echo "Total --- ".$total = $xml->link_stat->total_count; echo "<br/>"; echo $max = max($shares,$likes,$comments); ?>
และนี่แหล่ะครับคือการแสดงค่ายอดไลค์ยอดแชร์ หรือยอดต่างๆของเฟสบุคบนเว็บไซต์ของเรา ใครอยากจะเอาไปปรับแต่งอย่างไรก็ นำไปประยุกต์ต่อยอดเองได้เลยนะครับ สำหรับเทคนิคนี้ ต้องขอบคุณ เครดิตเว็บ stackoverflow.com ที่เป็นแหล่งเรียนรู้ดีๆ ให้ผมได้ศึกษาหาความรู้และนำมาใช้งานครับผม