プラグイン・テーマの有効化時、uploadsディレクトリへフォルダを追加する方法(メモ)

公開日:2022(令和4)年4月30日/最終更新日:

,
WordPress Customize Ideas | Personal WP Customization Notes (PWCN)

【景品表示法に基づく表記】ページ内のコンテンツには、商品プロモーションが含まれています



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

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

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

, , , ,



Lolipop ServerMoshimo Ad x-serverMoshimo Ad

WordPress Customize Ideas | Personal WP Customization Notes (PWCN)
プラグインなしで、ユーザー(著者)ページのスラグを変更する方法