プラグインやテーマで独自のファイルなどを格納する場所として、それぞれのテーマ・プラグインフォルダ内へフォルダを作成してしまうと、更新時にすべて上書きされてしまうリスクがあります。
これらのファイルを格納する場所として一番安全かつ確実なのは、WordPress標準で画像やファイルを格納する「wp-content/uploads」フォルダです。
以下はプラグインの有効化時やテーマの有効化時に指定したフォルダが存在するかを判断し、フォルダがなければ作成するというスニペットです。
おそらくプラグインやテーマを作られている方なら検索するまでもないことかと思いますが、メモとして掲載しておきます。
プラグインの場合
function myplugin_activate() {
$upload = wp_upload_dir();
$upload_dir = $upload['basedir'];
$upload_dir = $upload_dir . '/mypluginfiles';
if (! is_dir($upload_dir)) {
mkdir( $upload_dir, 0700 );
}
}
register_activation_hook( __FILE__, 'myplugin_activate' );
mypluginfilesの部分がフォルダ名になりますので自由に変更してください
参考:WordPress: How to Create a Directory within the Uploads Folder
参考:register_activation_hook(string $ file、 callable $ callback )
テーマの場合
function mytheme_activate() {
$upload = wp_upload_dir();
$upload_dir = $upload['basedir'];
$upload_dir = $upload_dir . '/mythemefiles';
if (! is_dir($upload_dir)) {
mkdir( $upload_dir, 0700 );
}
}
add_action('after_setup_theme','mytheme_activate' );
mythemefilesの部分がフォルダ名になりますので自由に変更してください
参考:do_action(’after_setup_theme’)
いずれのコードも設置後何度もテストをして、問題がないか確認してください