Ada kasus-kasus di mana plugin atau tema perlu membuat file php di suatu tempat yang nantinya bisa memasukkannya. Misalnya plugin captcha, atau semacam sistem templating seperti ranting / smarty (Dalam situasi saya ini adalah mesin templat sederhana untuk koleksi widget).
Di mana seharusnya file ini dibuat?
Satu-satunya tempat yang bisa saya pikirkan adalah wp-content/uploads/
, tapi itu tidak terdengar benar :)
Jadi apakah ada tempat yang aman di mana Anda dapat membuat file, dan tidak khawatir tentang itu dihapus di WordPress / plugin / pembaruan tema?
Salah satu solusinya bisa dengan membuat tema anak / direktori di direktori tema / plugin ...
sumber
Saat bekerja pada plugin Wordpress, saya menemukan pertanyaan Anda. Saya juga pertama kali berpikir untuk membuat file sementara untuk menyimpan beberapa data yang dibuat oleh plugin saya. Namun, dengan memberikan sedikit pemikiran, pendekatan ini terasa aneh bagi saya karena Anda tidak ingin memiliki data sementara tergeletak di satu server jika Anda mencoba skala menggunakan sekelompok server.
Jadi saya mencari lagi dan tampaknya solusi yang valid untuk masalah seperti itu adalah Wordpress Transients API yang memungkinkan Anda untuk menyimpan data dalam database dengan tanggal kedaluwarsa. Tentu saja masalah Anda masih memerlukan file yang di-cache secara lokal, misalnya jika terlalu besar untuk basis data, tetapi setidaknya saya sarankan untuk melihat opsi ini juga :-)
sumber
Saya hanya bisa memikirkan beberapa alasan bagus mengapa plugin perlu membuat file. Salah satunya adalah mencadangkan opsi rumit yang dapat diekspor dan diunduh pengguna untuk pindah ke situs baru. Yang lainnya adalah plugin sitemap.
Jika plugin Anda memiliki file templat yang dapat dikustomisasi pengguna, Anda harus memberikan opsi kepada pengguna untuk memindahkan file yang dikustomisasi ke direktori tema saat ini sehingga ketika plugin Anda diperbarui, file itu tidak akan ditimpa. Anda dapat mencoba memuat file dari direktori tema terlebih dahulu kemudian kembali ke direktori plugin Anda.
Gravity Forms menyimpan formulir yang diunggah dalam foldernya sendiri di dalam unggahan. W3 Total Cache menggunakan konten-wp, redirect login menggunakan metode yang saya jelaskan di atas.
sumber
Jika Anda harus membuat file (seperti file sementara untuk Plugin CAPTCHA), Anda harus menggunakan
\wp-content\uploads\
(atau direktori khusus seperti\wp-content\plugin-slug-files\
).Sebagian besar kode khusus lainnya harus benar-benar disimpan dalam Database.
sumber
eval()
itu? tidak mungkin ...eval()
?Saya selalu menyarankan autoloader yang kompatibel dengan PSR-0 dan folder library yang hanya berfungsi.
Beberapa pengguna WP mungkin menembak Anda saat itu tetapi mungkin Anda tidak fokus pada pengguna ini, jadi ini bisa menjadi pilihan. Terutama jika Anda mendapatkan lebih banyak dan lebih spesifik lib vendor.
sumber