Saya terkejut menemukan bahwa add_role () memodifikasi database dan gagal jika peran sudah ada. Ada dua implikasi di sini, yang pertama lebih serius daripada yang lain: 1) jika Anda dalam pengembangan dan memperbarui kode add_role Anda, Anda harus terlebih dahulu menghapus_rol () 2) setelah Anda melakukannya dengan benar, Anda seharusnya tidak perlu menjalankan kode itu lagi.
Jadi biasanya saya telah meletakkan add_role () saya di dalam kait tindakan wp_loaded. Dan karena saya sedang dalam pengembangan, saya juga telah menambahkan remove_role () sebelum add_role saya sehingga saya dapat yakin bahwa jika saya memodifikasi daftar topi saya, itu benar-benar akan berlaku.
Tapi jelas ini sekarang sedang dijalankan setiap kali halaman blog sedang diakses. Oke, saya bisa memasukkannya ke tindakan khusus admin, atau saya bisa membuat halaman plugin mungkin di bawah Pengguna atau Alat tempat peran ini bisa dibuat sekali. Saya kira saya berharap ada solusi yang lebih sederhana, lebih elegan di luar sana.
Saya tidak membayangkan ada semacam aksi run_once di sana?
Atau apakah praktik terbaik hanya dengan menambahkan peran dan kemudian menggunakan add_cap () beberapa kali? Dan bahkan kemudian saya bayangkan add_cap mengakses db.
Hanya berpikir dalam hal cara terbaik untuk mengurangi akses db yang tidak perlu. Apa praktik terbaik Anda?
remove_role()
fungsi sebelumadd_role()
membantu saya.