Saya menyiapkan tema anak untuk beberapa anggota fakultas saya, dan sebagai bagian dari tema, saya ingin beberapa plugin untuk diaktifkan pada saat tema diaktifkan. Jadi, tentu saja, saya menggunakan tindakan after_setup_theme dan memanggil fungsi pengaturan saya. Ini berfungsi dengan baik, kecuali itu berjalan pada SETIAP permintaan (admin dan sebaliknya). Saya membuktikan ini dengan menambahkan ini ke akhir fungsi pengaturan:
echo '<script type="text/javascript">alert("This action was run")</script>';
Dan sebagai hasilnya dapatkan peringatan javascript pada setiap permintaan admin dan setiap permintaan front-end (saya memiliki pengaturan jaringan, jadi jelas di situs di mana tema ini tidak aktif, itu tidak menjalankan fungsinya)
Jadi pertanyaannya adalah, apakah ini bug? Apakah saya entah bagaimana melakukan sesuatu yang salah? Berikut adalah kode lengkap yang saya gunakan:
add_action( 'after_setup_theme', 'fwp_setup' );
function fwp_setup(){
// -- Unrelated code remove for the sake of brevity
require_once($_SERVER['DOCUMENT_ROOT'].'/wp-admin/includes/plugin.php');
activate_plugin('enable-media-replace/enable-media-replace.php');
activate_plugin('seo-image/seo-friendly-images.php');
activate_plugin('w3-total-cache/w3-total-cache.php');
echo '<script type="text/javascript">alert("This action was run")</script>';
}
Wawasan apa pun akan sangat dihargai!
after_switch_theme
melakukan persis seperti yang saya maksudkan di sini. Ini menyala setelah tema beralih ke tema Anda. Salah satu solusi yang disebutkan di bawah ini menggunakanswitch_theme
. Ini tidak memiliki hasil yang diinginkan, karena itu hanya terjadi pada saat beralih dari tema Anda. Referensi komentar Trac ini