Dari pemahaman saya tentang bagaimana WordPress memperbarui inti dan plugin adalah bahwa setiap 12 jam itu keluar dan mencari pembaruan. Kapan waktu itu ditetapkan? 12 jam dari instalasi awal? Saya bertanya ini karena menggunakan filter pembaruan otomatis plugin add_filter( 'auto_update_plugin' );
Anda secara teoritis hanya dapat mengizinkan plugin untuk memperbarui antara waktu-waktu tertentu tetapi jika waktu tertentu tidak jatuh ke dalam jendela 12 jam maka plugin tidak akan pernah diperbarui.
Jadi meninggalkan pertanyaan dalam judul saya yaitu Bagaimana cara mengubah seberapa sering WordPress mencari pembaruan atau bagaimana menentukan waktu tertentu kapan untuk memperbarui otomatis?
Bagi yang berminat, inilah filter yang sudah saya gunakan, periksa untuk melihat JIKA itu hari Senin - Jumat jam 8 pagi - 5 sore:
function maybe_update_plugins(){
date_default_timezone_set('Your Timezone Here');
$localAssoc = localtime(time(), true);
$update = false;
/***
/* tm_wday[0] = Sunday
/* tm_wday[6] = Saturday
***/
if(
$localAssoc['tm_wday'] > 0 && $localAssoc['tm_wday'] < 6 &&
$localAssoc['tm_hour'] > 7 && $localAssoc['tm_hour'] < 17
){
$update = true;
}
return $update;
}
add_filter( 'auto_update_plugin', 'maybe_update_plugins' );
Sunting Sebagai sidenote yang rapi, sepertinya filter ini dijalankan setiap kali ada pembaruan plugin, beberapa pembaruan plugin, beberapa kali filter dijalankan.
sumber
Fungsi yang relevan
wp_update_plugins()
danwp_maybe_auto_update()
terhubung ke acara wp-cron dengan nama yang sama, berjalan pada jadwal dua kali sehari.Secara logis, jadwal awal akan mulai dicentang dari saat pertama kali dijalankan. Karena implementasi wp-cron (bukan cron asli dan dipicu oleh kunjungan situs daripada jam server), itu juga akan "melayang" setiap kali wp-cron yang sebenarnya melewati waktu yang seharusnya.
Pemeriksaan pembaruan plugin juga lebih sering dipicu di area admin tertentu, seperti daftar plugin (sehingga Anda cenderung tidak melihat informasi basi).
Di atas kepala saya, saya tidak melihat cara yang elegan untuk memasukkannya ke dalam koridor waktu tertentu. Mengubah jadwal cukup mudah, akun untuk penyimpangan tidak cukup.
Jika hal ini merupakan persyaratan penting misison-kritis maka mungkin lebih baik ditangani dengan cron server nyata dan alat eksternal untuk pembaruan aktual, seperti fungsi pembaruan wp-cli atau mengelola plugin melalui Komposer.
sumber
wp-cron
hanya memicu tampilan halaman admin tertentu atau juga tampilan halaman normal? Terima kasih!init
hook firing)