ผมมีไอเดีย/ลูกเล่นสำหรับการดึงข้อมูลมาเพิ่มเติม เพราะว่ามีสมาชิกท่านนึงสอบถามมาว่าสามารถดึงข้อมูลจากเว็บ php ธรรมดาได้รึป่าว (ขอไม่อ้างอิงชื่อนะครับ)
ขอตอบในนี้อีกครั้ง...
ในทางปฏิบัติแล้ว... เราสามารถดึงข้อมูลจากเว็บไหนก็ได้... ที่ไม่ใช่แค่ wordpress
แต่เราจะต้องเขียนระบบ API เพื่อส่งข้อมูลมาให้แอพ โดยเลียนแบบปลั๊กอิน JSON API ของ wordpress บางส่วน ซึ่งก็ทำไม่ยากเลย...
ซึ่งเขียน php เพิ่มจากระบบหรือสคริปต์เดิม ไม่กี่บรรทัดก็สามารถใช้งานได้แล้วเช่น..
ผมสร้างไฟล์ชื่อ worddroid-api.php ขึ้นมาไฟล์นึง ซึ่งภายในจะมีโค๊ดประมาณว่า.
<?php
if(isset($_GET['json']))
{
header('Content-type: application/json');
switch($_GET['json'])
{
case 'get_data_cate_1': // ชื่อฟังก์ชั้นสมมุติ ซึ่งจะนำไปใส่ในการสร้าง tab/หน้าใหม่ของแอพ ที่ช่องชื่อฟังก์ชั่น json
/*
โค๊ดหรือฟังชั่นที่จะไปดึงข้อมูลจาก database หรือ textfile หรือ ... มา
โดยข้อมูล data ต้องอยู่ในรูปแบบของ array() ที่มี field ที่จำเป็นคือ id, title, thumbnail, content เช่น
*/
$posts = array(
array('id'=>1,'title'=>'หัวข้อที่ 1','thumbnail'=>'linkรูปภาพ1','เนื้อหาที่1'),
array('id'=>2,'title'=>'หัวข้อที่ 2','thumbnail'=>'linkรูปภาพ2','เนื้อหาที่2'),
array('id'=>3,'title'=>'หัวข้อที่ 3','thumbnail'=>'linkรูปภาพ3','เนื้อหาที่3'),
);
/*
รูปแบบการส่งค่าทั้งหมด จะประกอบไปด้วยค่าหลักๆคือ status คือ ok, pages คือ จำนวนหน้าทั้งหมด, posts คือ ข้อมูลที่ได้จากด้านบน
จะได้ผลทั้งหมดว่า
*/
$result = array(
'status'=>'ok',
'pages'=>1,
'posts'=>$post
);
// หลังจากนั้น ก็ทำการ echo ค่าออกมาในรูปแบบ json
echo json_encode($result);
break;
case 'xxxxxx': // สำหรับหน้าอื่นๆ ถ้ามีอีก โดยทำคล้ายๆกับ case แรกด้านบน
/*...*/
break;
}
}
exit;
?>
หลังจากนั้น เราไปเซ็ทใน config.xml ที่ค่า wordpress เป็น
http://www .ชื่อเว็บ.com/worddroid-api.php
และไปสร้าง tab หรือหน้าในแอพว่า
Tabs.add(new Objs("ชื่อแท็บ", "get_data_cate_1", "", "grid.html"));
เท่านี้ เราก็ได้แอพ ที่ดึงข้อมูลจากเว็บไหนก็ได้แล้ว ไม่จำเป็นจะต้องเป็น wordpress