ทำให้ฟังก์ชั่นแจ้งเตือนการอัพเดตสำหรับธีมของฉัน


17

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

มีวิธีใดบ้างที่ฉันสามารถสร้างระบบอัปเดตเช่นปลั๊กอินที่โฮสต์ในไดเรกทอรีปลั๊กอิน WordPress

รอคำตอบของคุณ ขอบคุณ!

การแก้ไข:

ขอบคุณ Chip Bennett สำหรับการเชื่อมโยงที่ยอดเยี่ยมของเขา ขณะนี้ไลบรารีการอัพเดตสำหรับธีมพร้อมใช้งานในไซต์นั้นแล้ว คุณสามารถค้นหาได้ที่นี่: http://w-shadow.com/blog/2011/06/02/automatic-updates-for-commercial-themes/

พิจารณาการบริจาคเสมอหากคุณเห็นงานที่ยอดเยี่ยมบางอย่างที่ให้บริการฟรี


ใช้ตัวตรวจสอบการอัปเดตปลั๊กอิน! ใช้งานได้กับทั้งปลั๊กอินและธีม github.com/YahnisElsts/plugin-update-checker
transbetacism

คำตอบ:


9

คุณยังสามารถเชื่อมโยงเข้ากับรูทีนการอัพเดทหลักได้ (ฉันกำลังมองหาลิงก์การสอน แต่ Google-fu ของฉันทำให้ฉันไม่ทำงานในเช้านี้)

แก้ไข:

ดูว่าบทช่วยสอนนี้ช่วยได้ไหม มันอธิบายถึงวิธีการใช้การอัปเกรดอัตโนมัติสำหรับปลั๊กอินส่วนบุคคล / เชิงพาณิชย์ (เช่นที่ไม่ใช่ที่เก็บโฮสต์)


1
ฉันคิดว่ามันคือpre_set_site_transient_update_plugins
Wyck

ขอบคุณ! ฉันผ่านการเชื่อมโยงของคุณและรหัสปลั๊กอินไม่ทำงาน แต่ฉันขอให้คนที่แต่งตัวประหลาดสำหรับการแก้ไขห้องสมุดสำหรับชุดรูปแบบสองสามวันต่อมาเขาทำมัน! และตอนนี้มันใช้งานได้ดีมาก! ฉันจะใส่ลิงค์ในคำถามของฉัน ขอบคุณ !!
Sisir

1
นี่คือบทช่วยสอนสำหรับการอัปเกรดธีมอัตโนมัติจากเว็บไซต์เดียวกัน: w-shadow.com/blog/2011/06/02/…
Jaroslav Klimčík

pre_set_site_transient_update_pluginsรันเฉพาะธีมที่เปิดใช้งานบนเว็บไซต์หลัก ชุดรูปแบบที่กำหนดเองอื่น ๆ ทั้งหมดจะไม่ถูกตรวจสอบแม้ว่าจะเป็นหลายไซต์และเปิดใช้งานชุดรูปแบบที่กำหนดเองอื่น ๆ ในเว็บไซต์อื่น
ve

3

คำถามที่น่าสนใจ! ที่จริงแล้วฉันคิดว่าคุณควรให้บริการตรวจสอบการอัปเดต! เช่น yourdomain.comn / api / update-check! จากนั้นสามารถส่งคืน XML หรือ JSON หรือข้อมูลที่เป็นประโยชน์ที่เกี่ยวข้องกับการอัปเดตเช่นเวอร์ชัน, URL ของไฟล์อัปเดต (ไฟล์ที่อัปเดตควรเป็นไฟล์ซิป)!

ในรูปแบบของคุณคุณสามารถมี:

    <?php define('OWN_THEME_VERSION', '1.1');

ดังนั้นเมื่อคุณตรวจพบการอัปเดตจาก URL ด้านบน (yourdomain.comn / api / update-check) ให้ถือว่าข้อมูลนั้นส่งคืนข้อมูล JSO ดังต่อไปนี้: {"version": "1.2", "file": "theme.zip"}

คุณเปรียบเทียบเวอร์ชันเพื่อตรวจสอบการอัปเดตใหม่! จากนั้นเปลี่ยนเป็นธีมเริ่มต้นด้วยฟังก์ชั่นนี้http://codex.wordpress.org/Function_Reference/switch_theme (ตามลำดับเมื่อผู้ใช้เข้าถึงเว็บไซต์พวกเขาเห็นไซต์ที่น่าสงสัย)! ต่อไปรหัสของคุณสามารถใช้การม้วนหรือแม้แต่ file_get_contents เพื่อดาวน์โหลดไฟล์ zip (theme.zip ในกรณีนี้)! ถัดไปคุณลบไฟล์ทั้งหมดในโฟลเดอร์ชุดรูปแบบของคุณจากนั้นขยายไฟล์ zip และคัดลอกเนื้อหาลงในโฟลเดอร์ธีม! ฉันคิดว่ามันควรจะใช้วิธีนี้!

คุณอาจต้องการดูว่า WordPress ทำอะไร! ฉันพบว่ามันอยู่ในไฟล์ wp-admin / include / update-core.php, บรรทัด 288, ฟังก์ชั่น update_core


3
โดยพื้นฐานแล้วสิ่งนี้ แต่แทนที่จะใช้ curl หรือ file_get ใช้ WordPress HTTP API, codex.wordpress.org/HTTP_API
Wyck

เด็ด Wyck ฉันไม่ทราบว่า;)!
kureikain

1
ในที่สุดก็มีเวลาที่จะเริ่มการวิจัยเกี่ยวกับเรื่องนี้! สำหรับเวอร์ชันปัจจุบันของชุดรูปแบบที่ฉันสามารถใช้ฟังก์ชันนี้codex.wordpress.org/Function_Reference/get_theme_data ฉันจะเริ่มทำงานกับแนวทางที่คุณระบุ
Sisir
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.