Saya sedang mengembangkan plugin wordpress saat ini yang saya tidak inginkan dalam repositori plugin Wordpress. Namun saya masih ingin dapat mendorong pembaruan kepada pelanggan saya dari repositori API saya sendiri.
Saya sudah membaca sedikit tentang ini, dan satu hal yang sepertinya adalah tentang pre_set_site_transient_update_plugins
filter, namun saya tidak dapat menemukan banyak info tentang ini. Saya sudah mencoba tutorial ini ( http://konstruktors.com/blog/wordpress/2538-automatic-updates-for-plugins-and-themes-hosted-outside-wordpress-extend/ ) yang saya tidak dapat bekerja. Saya dapat mengatakan dari komentar bahwa orang lain benar-benar bisa mendapatkan ini berfungsi dengan apa yang harus hampir versi WP saat ini (respon terbaru 22 Apr).
Saya mencoba menginstal plugin dari situs dan meletakkan folder API di domain kedua, tetapi pemberitahuan pembaruan yang biasanya saya dapatkan ketika pembaruan tersedia, tidak muncul sama sekali.
Saya tidak yakin apakah benar-benar memungkinkan plugin kustom menjalankan pembaruan otomatis dari repositori lain sehingga saya ingin mendengar jika ada orang di sini yang memiliki pengalaman sama sekali dengan hal ini? Solusi dalam tutorial sepertinya merupakan solusi yang mudah - Saya ingin tahu apakah itu mungkin dilakukan dengan cara yang lebih maju?
Setiap bantuan untuk mendapatkan pembaruan otomatis ini dari repositori saya sendiri akan sangat dihargai!
(PS: Saya menjalankan WP versi 3.1.3)
Jawaban:
Untuk kepentingan orang lain yang menemukan halaman ini, saya sarankan mereka yang ingin memberikan pembaruan mereka sendiri di luar repositori WP resmi memeriksa proyek ini di GitHub, yang menunjukkan fungsi:
https://github.com/jeremyclark13/automatic-theme-plugin-update
sumber
Ya, ini mungkin. Ada satu bab dalam Pengembangan Plugin WordPress Profesional yang didedikasikan untuk ini. Jika belum, ambil salinannya. Itu pasti akan membantu.
sumber
add_filter("pre_set_site_transient_update_plugins","dne_altapi_check");
Setelah itu saya memiliki fungsi dne_altapi_check yang berisiprint_r("hi");
- namun ketika saya menekan tombol "Periksa lagi" di bawah pembaruan, itu tidak mencetak apa-apa sama sekali .. Apakah saya melakukan sesuatu yang salah saat menghubungkan ke pemeriksa pembaruan?Ada manajer Plugin dan Pembaruan Tema API komersial untuk WooCommerce yang secara khusus berfungsi jika plugin atau tema tidak dihosting di wordpress.org. Ini dirancang untuk memberikan pembaruan untuk plugin dan tema yang dihosting sendiri. Plugin ini untuk mereka yang tidak ingin menulisnya sendiri, dan membutuhkan banyak fitur, ditambah contoh yang berfungsi untuk plugin dan tema yang sedang dijual.
http://www.toddlahman.com/shop/wordpress-automatic-update-api-manager/
sumber
Ada juga layanan yang rapi di http://wp-updates.com/ - Anda mendapatkan satu tema atau plugin gratis. FYI - ini bukan situs saya tapi saya sudah mencobanya beberapa waktu lalu dan sepertinya cukup bagus.
sumber
Untuk pemasangan satu situs (saya belum mengujinya di multi-situs), hanya ada dua kait yang perlu Anda perbarui dari layanan eksternal seperti github atau gitlab. Dalam kode di bawah ini, saya menggunakan gitlab karena itulah yang saya gunakan untuk meng-host kode saya sekarang. Saya mungkin harus abstrak bagian gitlab keluar ...
Kait pertama yang harus Anda gunakan adalah
pre_set_site_transient_update_themes
. Ini adalah filter yang digunakan WordPress untuk mengatur site_transient untuk ditampilkan jika ada pembaruan yang tersedia. Gunakan kait ini untuk menghubungkan ke versi jarak jauh Anda dan melihat apakah ada pembaruan yang tersedia. Jika ada, maka modifikasi transien sehingga WordPress tahu ada pembaruan dan dapat menampilkan pemberitahuan kepada pengguna.Pengait lain yang perlu Anda gunakan adalah
upgrader_source_selection
. Filter ini diperlukan, untuk gitlab, karena nama folder yang diunduh tidak sama dengan tema, jadi kami menggunakan kait ini untuk mengubah nama menjadi nama yang benar. Jika repositori jarak jauh Anda menyediakan zip dengan nama yang benar, maka Anda bahkan tidak memerlukan pengait ini.Kait ketiga, opsional, yang dapat Anda gunakan adalah
auto_update_theme
jika Anda ingin memperbarui tema secara otomatis. Dalam contoh di bawah ini, saya menggunakan pengait ini untuk secara otomatis memperbarui hanya tema khusus ini.Kode ini hanya diuji dengan WordPress 4.9.x. Ini membutuhkan PHP> 7.0.
functions.php
updater.php
sumber