การใช้ API ภายนอกใน WordPress หรือไม่


9

ฉันมีลูกค้าที่มีเว็บไซต์ WordPress และเขาต้องการขยายเพื่อเพิ่มฟังก์ชันการทำงานใหม่ ฟังก์ชันเหล่านี้รวมอยู่ในเว็บไซต์ที่ฉันได้ทำไปแล้ว (เป็นเครื่องมือค้นหาผ่านฐานข้อมูลพร้อมตัวกรองบางตัว) และอยู่ภายใต้การปรับปรุงใหม่

สิ่งที่ฉันวางแผนจะทำคือการสร้าง json api ของเว็บไซต์ของฉัน (พร้อมฟังก์ชั่นการค้นหาทั้งหมดในฐานข้อมูลของฉัน) และทำให้เว็บไซต์ wordpress ใช้ api นี้แล้วฉันจะต้องสร้างมุมมองเพื่อแสดงผลการค้นหาเท่านั้น

ปัญหาคือฉันไม่รู้ WordPress เลย (สำหรับฉันมันเป็นสิ่งที่คุณสามารถเพิ่มบทความผ่านทาง admin panel ... ) และฉันไม่รู้ว่าเราจะเขียนโค้ดฝั่งเซิร์ฟเวอร์ของเราเองได้อย่างไร ฉันค้นหาใน Google และพบสิ่งที่เรียกว่า "ปลั๊กอิน" แต่ฉันสงสัยว่ามันเป็นไปได้หรือไม่และเป็นวิธีที่ง่ายที่สุดในการทำเพราะฉันไม่จำเป็นต้องมีรหัสที่ใช้โดยบุคคลที่สามอื่น ๆ พรรค ถ้าเป็นไปได้ที่จะแฮ็ค WordPress ติดตั้งเพื่อเพิ่มไฟล์ PHP ของฉัน, รหัสสิ่งที่ฉันต้องการ (มุมมองของฉันด้วย WordPress css เดียวกัน) มันจะง่ายกว่านี้ แต่ฉันไม่รู้ว่าเป็นไปได้หรือไม่


คุณพยายามทำอะไรอ่าน json feed ลงใน wordpress, แทรกข้อมูลลงในฐานข้อมูล, เผยแพร่ผ่าน XML-RPC, ลองและชัดเจนยิ่งขึ้น
Wyck

อ่านฟีด json สำหรับตัวอย่างเว็บไซต์ wordpress ควรมีรูปแบบการค้นหาเมื่อส่งมันจะทำการเรียกรับ api, api จะส่งคืนวัตถุใน json และฉันควรผลลัพธ์เหล่านี้ในหน้าของเว็บไซต์ WordPress
tahir

1
@tahir ฉันกำลังพยายามทำสิ่งนี้ คุณจะแบ่งปันความสำเร็จของเป้าหมายของคุณได้ไหม?
SAHM

คำตอบ:


9

ไพรเมอร์สั้น ๆ เกี่ยวกับการพัฒนา WordPress ที่อาจช่วยหรือทำให้คุณสับสน:

สิ่งสำคัญที่ควรทราบ: ทั้งหมดนี้เป็นเพียง PHP และ: อย่าแก้ไขไฟล์หลักของ WordPress เพราะคุณจะมีปัญหาเมื่อคุณอัปเดตเป็นเวอร์ชันใหม่กว่าในภายหลัง รหัสเดียวที่คุณควรแก้ไขคือปลั๊กอินและของธีม

หากคุณต้องการเพิ่มบางสิ่งลงในหน้าเว็บที่มีอยู่อาจใช้การแก้ไขไฟล์ธีมที่เหมาะสม อย่างไรก็ตามหากคุณต้องทำอะไรขั้นสูง (และเพิ่ม "มุมมอง" พิเศษเช่นที่ URL ที่เฉพาะเจาะจงเป็นขั้นสูงใน WordPress) คุณต้องเพิ่มรหัสในสถานที่ที่จะโหลดก่อนหน้านี้ในกระบวนการบูต WordPress .

เหตุผลนี้คือว่าเวิร์ดเพรสจะโพสต์ข้อความค้นหาให้คุณตาม URL คุณไปที่/category/banana/มันจะค้นหาโพสต์ของหมวดหมู่bananaและโหลดไฟล์เทมเพลตที่ถูกต้องซึ่งคุณต้องวนซ้ำและแสดงไว้ อย่างไรก็ตามหากคุณไปที่/custom-view/WordPress อาจจะไม่พบโพสต์ใด ๆ และโหลดเทมเพลต 404 - ทำให้คุณไม่มีวิธีการกู้คืนที่ง่ายดาย!

บางคนแก้ปัญหานี้ด้วยการสร้าง "หน้าต้นขั้ว": พวกเขาสร้างหน้าใน WordPress ที่เนื้อหาไม่สำคัญเฉพาะแม่แบบคือ: ที่นั่นพวกเขาทำสิ่งแฟนซีสิ่งที่พวกเขาต้องการจะทำ นี่มันแฮ็ค แต่ก็ใช้ได้ วิธีที่สะอาดคือการกำหนดกฎการเขียนซ้ำแบบพิเศษเพื่อให้ WordPress ทราบว่า/custom-view/เป็น URL ที่ถูกต้อง แต่สิ่งอื่น ๆ ควรเกิดขึ้นที่นั่น

หากคุณต้องการทำสิ่งนี้คุณต้องเชื่อมโยงเข้ากับระบบ WordPress หลัก ส่วนที่สำคัญที่นี่คือเบ็ดลงไปไม่ได้ปรับเปลี่ยน WordPress มีการกระทำและฟิลเตอร์ การกระทำเป็นเพียงการประกาศ ( "เดี๋ยวก่อนเรากำลังเขียน<head>แท็กคุณต้องการเพิ่มอะไรด้วยหรือไม่" ) ตัวกรองช่วยให้คุณสามารถแก้ไขตัวแปร ( "นี่คือชื่อโพสต์หากคุณต้องการแก้ไขให้คืนค่าใหม่" ) แน่นอนว่าเคล็ดลับในตอนนี้คือการรู้ว่าควรใช้การกระทำและตัวกรองใด ขึ้นอยู่กับวิธีที่คุณเลือก (หน้าต้นขั้วหรือกฎการเขียนใหม่) ดังนั้นฉันจะไม่ลงรายละเอียดที่นี่

คุณกำหนดแอ็คชันและตัวกรองที่คุณต้องการใช้ในไฟล์ปลั๊กอินหรือในไฟล์functions.phpของธีมของคุณ พวกเขาพิเศษที่พวกเขากำลังโหลดในขณะที่ WordPress กำลังบูทดังนั้นก่อนที่จะมีการดำเนินการค้นหาหลักและอื่น ๆ ไฟล์ปลั๊กอินเป็นเพียงไฟล์ PHP ที่อยู่ในwp-content/plugins/ไดเรกทอรีพร้อมส่วนหัวพิเศษเพื่อให้ WordPress สามารถอ่านชื่อและแสดงในพื้นที่การบริหารที่คุณสามารถเปิดใช้งานและปิดการใช้งาน (เพื่อให้คุณสามารถปล่อยปลั๊กอินไว้ในไดเรกทอรี แต่ชั่วคราว ปิดการใช้งาน)


2

ข้อมูลพื้นฐานเกี่ยวกับ

คุณต้องเข้าใจพื้นฐานสำหรับปลั๊กอินและธีม กล่าวโดยย่อ: เป็นส่วนเพิ่มเติมของฟังก์ชันหลักของ wordpress โดยปกติ"ปลั๊กอิน"เป็นเรื่องเกี่ยวกับฟังก์ชันการทำงานและ"ธีม"เป็นเรื่องเกี่ยวกับ "มุมมอง" มากขึ้น นอกจากนี้คุณยังอาจต้องการอ่านเล็ก ๆ น้อย ๆ เกี่ยวกับ"ปลั๊กอิน API"

JSON

คุณอาจต้องการใช้สคริปต์json2ที่สร้างขึ้นในแกนเพื่อให้ API "ปลอดภัย"

ตัวอย่าง JSON

ส่วนที่เหลือจะเป็นดังนี้:

$response = json_encode( array( 
     'data' => $your_output 
) );
header( "Content-Type: application/json" );
echo $response;

XML Rpc

Codex นอกจากนี้ยังมีบางสิ่งบางอย่างเกี่ยวกับ"XML Rpc"

Http API

เป็นไปได้ก็อาจจะมีการร้องขอ http ตรวจสอบให้แน่ใจว่าคุณอ่านข้อมูลอ้างอิงที่ด้านล่างของลิงค์


เว็บฮุค

สิ่งนี้เป็นสิ่งเพิ่มเติมเนื่องจากเป็นเรื่องเกี่ยวกับการให้ API ที่สิ้นเปลือง คำอธิบายที่นี่ และยังมีปลั๊กอินชื่อHookPressที่ทำงานนี้ให้คุณ บางสไลด์จากผู้เขียนเช่นกัน


1

ฉันคิดว่าคุณรู้ PHP หรือไม่ หรือว่าเป็นอุปสรรคเช่นกัน?

ปลั๊กอินที่สำคัญใน WordPress มีการประชุมวิธีการแพคเกจรหัส PHP เพื่อให้เป็นที่รู้จักและจัดการโดย WordPress core มันเป็นรูปแบบมากกว่าฟังก์ชั่น

สำหรับฟังก์ชั่นการใช้งานจริงคุณสามารถรัน PHP โดยพลการได้ แต่ก็เป็นการดีที่จะใช้ประโยชน์จาก API ของ WP เพื่อความเข้ากันได้และความน่าเชื่อถือ

นึกถึงโค้ดของคุณในบริบทของ WP ว่าinclude(ซึ่งจะเป็นเทคนิค) จากนั้นเป็นขอบเขตของความต้องการและทรัพยากรของคุณที่จะกำหนดว่าจะมีการเขียนใหม่เป็นจำนวนเท่าใดสำหรับ WordPress


0

ใช่มันเป็นไปได้

ส่วนใหญ่จะสร้างปลั๊กอินผ่านสิ่งที่เรียกว่า hooks:

ตัวอย่างเช่น:

add_action("hook", "function")

มันค่อนข้างง่ายที่จะสร้างปลั๊กอินด้วยตัวคุณเองเมื่อคุณรู้ว่ากรอบงานนั้นเป็นอย่างไร ... ใช้ได้ ... ฉันขอแนะนำให้คุณทำความคุ้นเคยกับมันซึ่งเป็นสถานที่ที่มีความรู้มากที่สุด สุทธิ) เป็นCodex WordPress

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.