Membuat fungsi pemberitahuan pembaruan untuk tema saya

17

pertanyaannya sederhana :) Saya membuat tema yang akan saya gunakan di banyak situs. Jadi, saya tidak ingin membuka semua situs dan menyimpan file setiap kali saya memperbaiki bug atau melakukan upgrade tema.

Apakah ada cara saya dapat membuat sistem pembaruan seperti plugin yang dihosting di direktori plugin wordpress.

Menantikan jawaban Anda. Terima kasih!

Terpecahkan:

Terima kasih Chip Bennett atas tautannya yang sangat bagus. Perpustakaan pembaruan untuk tema sekarang tersedia di situs itu. Anda dapat menemukannya di sini: http://w-shadow.com/blog/2011/06/02/automatic-updates-for-commercial-themes/

Selalu pertimbangkan donasi jika Anda melihat beberapa karya luar biasa yang tersedia secara gratis.

Sisir
sumber
Gunakan Pemeriksa Pembaruan Plugin! Berfungsi untuk plugin dan tema. github.com/YahnisElsts/plugin-update-checker
transbetacism

Jawaban:

9

Anda juga dapat menghubungkan ke rutin pembaruan inti. (Saya mencari tautan tutorial, tetapi Google-fu saya gagal pagi ini.)

EDIT:

Lihat apakah tutorial ini membantu . Ini menjelaskan cara menerapkan pemutakhiran otomatis untuk Plugin pribadi / komersial (mis. Non-repositori-host).

Chip Bennett
sumber
1
Saya pikir itupre_set_site_transient_update_plugins
Wyck
Terima kasih! Saya melewati tautan Anda dan kode plugin tidak berfungsi tetapi saya meminta orang itu untuk memodifikasi perpustakaan untuk tema beberapa hari kemudian dia membuatnya! Dan sekarang ini bekerja dengan baik! Saya akan menaruh tautan di pertanyaan saya. Terima kasih!!
Sisir
1
Berikut ini adalah tutorial untuk peningkatan tema secara otomatis dari situs yang sama: w-shadow.com/blog/2011/06/02/…
Jaroslav Klimčík
pre_set_site_transient_update_pluginshanya menjalankan tema yang diaktifkan di situs utama. semua pembaruan tema khusus lainnya tidak akan diperiksa walaupun itu multi-situs dan mengaktifkan tema khusus lainnya di situs lain.
vee
3

Pertanyaan menarik! Bahkan, saya pikir Anda harus membuat layanan untuk memeriksa pembaruan! Seperti domainAnda.com / api / perbarui-cek! Maka ini dapat mengembalikan XML atau JSON atau beberapa informasi berguna yang terkait dengan pembaruan seperti versi, url file pembaruan (file yang diperbarui harus berupa file zip)!

Dalam tema Anda, Anda dapat memiliki:

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

Jadi, ketika Anda mendeteksi pembaruan dari url di atas (yourdomain.comn / api / update-check), asumsikan itu mengembalikan data JSO sebagai berikut: {"version": "1.2", "file": "theme.zip"}

Anda membandingkan versi untuk memeriksa pembaruan baru! Kemudian beralih ke tema default dengan fungsi ini http://codex.wordpress.org/Function_Reference/switch_theme (agar saat pengguna mengakses situs, mereka melihat situs kerja)! Selanjutnya, kode Anda dapat menggunakan curl atau bahkan file_get_contents untuk mengunduh file zip (theme.zip dalam hal ini)! Selanjutnya, Anda menghapus semua file di folder tema Anda, lalu extrat file zip dan menyalin kontennya ke folder tema! Saya pikir cara ini seharusnya berhasil!

Anda mungkin ingin melihat apa yang dilakukan WordPress! Saya menemukan itu di file wp-admin / include / update-core.php, baris 288, fungsi update_core

kureikain
sumber
3
Pada dasarnya ini tetapi alih-alih menggunakan curl atau file_get gunakan WordPress HTTP API, codex.wordpress.org/HTTP_API
Wyck
Cool Wyck, saya tidak tahu itu;)!
kureikain
1
akhirnya punya waktu untuk memulai penelitian ini! Untuk versi tema saat ini saya dapat menggunakan fungsi ini codex.wordpress.org/Function_Reference/get_theme_data . Saya akan mulai bekerja dengan pendekatan yang Anda sebutkan.
Sisir