プラグインやテーマで独自のファイルなどを格納する場所として、それぞれのテーマ・プラグインフォルダ内へフォルダを作成してしまうと、更新時にすべて上書きされてしまうリスクがあります。

これらのファイルを格納する場所として一番安全かつ確実なのは、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’)

いずれのコードも設置後何度もテストをして、問題がないか確認してください