อัปเดตสำหรับปลั๊กอินส่วนตัวหรือไม่


117

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

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

มีวิธีทำเช่นนี้หรือไม่?


ฉันเชื่อว่าสิ่งนี้ถูกกล่าวถึงเป็นตัวเลือกที่กรองได้ในรายชื่อผู้รับจดหมาย wp-hackers มันไม่เคยได้รับการแก้ไข IIRC ฉันคิดว่าการสนทนาที่เกี่ยวข้องอยู่ในหัวข้อนี้: lists.automattic.com/pipermail/wp-hackers/2009-F กุมภาพันธ์/ … ... แต่ฉันอาจจะผิด
ZaMoose

หากคุณไม่ต้องการยกเลิกโซลูชันของคุณเองคุณสามารถใช้kernl.usสำหรับการอัปเดตปลั๊กอินที่โฮสต์
Jack Slingerland

คำตอบ:


48

ดูเหมือนว่ารหัสที่ใช้บังคับอยู่ในwp-includes/update.php, wp_update_plugins():

$to_send = (object) compact('plugins', 'active');

$options = array(
    'timeout' => ( ( defined('DOING_CRON') && DOING_CRON ) ? 30 : 3), 
    'body' => array( 'plugins' => serialize( $to_send ) ),
    'user-agent' => 'WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' )
);  

$raw_response = wp_remote_post('http://api.wordpress.org/plugins/update-check/1.0/', $options);

มันตรวจสอบเฉพาะ api.wordpress.org ในทางเทคนิคการพูดมันจะเป็นไปได้ที่จะส่งคีย์ภายใน$to_sendเพื่อมอบหมายการตรวจสอบ แต่ให้ความรู้ของฉันที่ไม่ใช่คุณสมบัติที่รองรับ

หากคุณขอset_site_transient_update_pluginsคุณสามารถเพิ่มรายละเอียดแพ็คเกจของคุณเองในตัวแปรนี้ ดูเหมือนว่าค่าเหล่านั้นจะเชื่อถือได้เมื่อคุณเรียกใช้ตัวอัปเดตปลั๊กอิน ดูและwp-admin/update.php wp-admin/includes/class-wp-upgrader.phpเมื่อกำหนดรหัสในฟังก์ชั่นทั้งสองนี้ฉันคิดว่ามันเป็นไปได้ที่จะฉีดเซิร์ฟเวอร์อัพเดทของคุณเองคุณเพียงแค่ต้องดูว่ารายละเอียดแพ็คเกจถูกจัดรูปแบบและตรงกับสิ่งนั้นอย่างไร


42

ปลั๊กอินนี้ทำเพื่อคุณ:

อัปเดตอัตโนมัติสำหรับปลั๊กอินส่วนบุคคลและเชิงพาณิชย์

ตั้งแต่กาลเวลาเพียงปลั๊กอินที่โฮสต์ในไดเรกทอรีปลั๊กอิน WordPress.org อย่างเป็นทางการเท่านั้นที่รองรับการอัปเดตอัตโนมัติ ตอนนี้ฉันได้เขียนไลบรารี PHP ที่คุณสามารถใช้เพื่อเพิ่มความสามารถในการอัปเดตอัตโนมัติให้กับปลั๊กอินใด ๆ ปลั๊กอินสาธารณะส่วนบุคคลและเชิงพาณิชย์เหมือนกัน - ตอนนี้ทุกคนสามารถเพลิดเพลินกับประโยชน์ของการแจ้งเตือนการอัปเดตอัตโนมัติและการอัปเกรดด้วยคลิกเดียว

พื้นที่เก็บข้อมูล GitHub


2
คุณอาจสนใจจัดการปลั๊กอินที่อยู่ข้างๆคุณ ... ด้วยแพ็คเกจที่wp-update-serverเขียนโดยผู้เขียนคนเดียวกัน;) github.com/YahnisElsts/wp-update-serverโดยใช้เซิร์ฟเวอร์นี้คุณสามารถสร้างปลั๊กอินของคุณได้อย่างปลอดภัย อธิบายไว้ที่นี่: w-shadow.com/blog/2013/03/19/…
SimonSimCity

ฉันจะปิดการใช้งานตัวตรวจสอบการอัปเดตค่าเริ่มต้นของ wordpress บนปลั๊กอินฟรีได้อย่างไร
csandreas1

แม้ว่าเว็บไซต์นั้นจะดูล้าสมัย แต่โครงการก็ได้รับการสนับสนุนอย่างมากและสามารถทำงานร่วมกับ repos Bitbucket / Github ส่วนตัวได้เช่นกัน! ดู repo Github ของพวกเขาสำหรับข้อมูลเพิ่มเติมเกี่ยวกับการบูรณาการต่าง ๆ ที่มีอยู่github.com/YahnisElsts/plugin-update-checker
Mr. Me

10

หากคุณชอบฟรี ... และต้องการใช้งานเช่น GitHub, GitLab หรือ BitBucket นี่เป็นปลั๊กอินคุณภาพดีและรองรับการจัดการ (สนับสนุนส่วนตัวและองค์กร):

https://github.com/afragen/github-updater


1
ว้าว! ดูเหมือนว่าเป็นโครงการที่ได้รับการสนับสนุนและเป็นผู้ใหญ่!
อาร์มสตรองที่

1
การใช้ปลั๊กอินอื่นดูเหมือนจะไม่ใช่วิธีที่ดีมาก
Kontur

2
@kontur จริงมาก แต่เนื่องจากราวกับว่านี่เป็นโอเพนซอร์สและมีการปรับปรุงอยู่ตลอดเวลามันสามารถใช้เป็นเฟรมเวิร์กหรือเป็นตัวอย่างโค้ดเพื่อสร้างของคุณเอง
sMyles

8

ฉันกำลังมองหาในสิ่งเดียวกัน ลิงค์ที่ฉันพบว่าอาจมีประโยชน์:

สิ่งแรกคือข้อมูลและพอยน์เตอร์ของ API การอัปเกรด ประการที่สองคือข้อมูลโค้ดที่แสดงวิธีการขอข้อมูลจาก API


1
@Dougal - ลิงค์ที่ดี!
MikeSchinkel

1

คุณอาจต้องการที่จะตรวจสอบเวิร์ดเพรสปลั๊กอิน Development Kit ฉันเพิ่งย้ายระบบอัปเดตที่เป็นกรรมสิทธิ์ไปยังปลั๊กอินนี้ ตอนนี้ปลั๊กอินทำหน้าที่เป็นตัวประมวลผลส่วนหลังสำหรับการอัปเดตปลั๊กอินพรีเมียมของฉัน

สิ่งนี้คล้ายกันในการติดตั้งโซลูชันที่ให้ไว้โดย agileapricot ด้านบน มันจะติดตั้งเป็นปลั๊กอินมาตรฐานบนเว็บไซต์ WordPress คุณโฮสต์ไฟล์. zip แบบพรีเมี่ยมและปลั๊กอินของคุณในไดเรกทอรีที่ใช้งานจริงหรือวางจำหน่ายก่อนวางจำหน่ายบนเซิร์ฟเวอร์ของคุณ (ระบุในการตั้งค่าสำหรับปลั๊กอิน)

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

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

หวังว่าบางท่านจะเห็นว่ามีประโยชน์


1

หากคุณต้องการโซลูชันที่โฮสต์ซึ่งคุณไม่ต้องจัดการให้ตรวจสอบ Kernl ( https://kernl.us ) เป็นบริการที่ให้โครงสร้างพื้นฐานสำหรับการอัปเดตปลั๊กอินและทำให้ง่ายต่อการรวมเข้ากับปลั๊กอินของคุณเอง


ดูเหมือนว่าจะเป็นไปได้
Kontur

-1

คุณสามารถใช้ปลั๊กอินเชิงพาณิชย์นี้: http://autohosted.com/ โดย ไม่มีข้อ จำกัด และมีคุณสมบัติอื่น ๆ ที่คุณอาจต้องการ:

  • ไม่มีค่าใช้จ่ายรายเดือน
  • ใช้ไม่ จำกัด
  • รวมเข้ากับธีมและปลั๊กอินได้ง่าย
  • การรับรองความถูกต้องตามโดเมนคีย์และบทบาท

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