概要
woocommerce_downloadable_file_allowed_mime_typesは、WooCommerceのフィルターフックの一つで、ダウンロード可能な商品に対して許可されているMIMEタイプをカスタマイズするために使用されます。このフィルターを使用すると、特定のファイルタイプを商品に追加したり、逆に非表示にしたりすることが可能です。以下のような状況でよく使われます。
- 特定のファイル形式(例:.epubや.mobi)を許可したい場合
- セキュリティ上の理由から不必要なファイル形式(例:.exeなど)を禁止したい場合
- 自社特有のファイルタイプをダウンロード可能にしたい場合
- ユーザーが誤って不適切なファイルをアップロードするのを防ぎたい場合
- サードパーティのプラグインと連携するためにMIMEタイプを調整したい場合
- 特定の業界標準に合わせたファイル形式を扱いたい場合
構文
add_filter( 'woocommerce_downloadable_file_allowed_mime_types', 'custom_downloadable_file_types' );
function custom_downloadable_file_types( $mimes ) {
// ここでMIMEタイプを変更する
return $mimes;
}
パラメータ
$mimes: 現在許可されているMIMEタイプの配列
戻り値
- 許可されているMIMEタイプの変更された配列
使用可能なプラグインWooCommerceのバージョン
- WooCommerce 2.0以上
使用可能なワードプレスのバージョン
- WordPress 4.0以上
サンプルコード
サンプルコード1
add_filter( 'woocommerce_downloadable_file_allowed_mime_types', 'allow_custom_mime_types' );
function allow_custom_mime_types( $mimes ) {
$mimes['json'] = 'application/json'; // JSONファイルを許可
return $mimes;
}
このサンプルコードは、ダウンロード可能なファイルとしてJSONファイルを許可します。
サンプルコード2
add_filter( 'woocommerce_downloadable_file_allowed_mime_types', 'remove_exe_mime_type' );
function remove_exe_mime_type( $mimes ) {
unset( $mimes['exe'] ); // EXEファイルを禁止
return $mimes;
}
このサンプルコードは、セキュリティ上の理由からEXEファイルのアップロードを禁止します。
サンプルコード3
add_filter( 'woocommerce_downloadable_file_allowed_mime_types', 'add_pdf_and_epub' );
function add_pdf_and_epub( $mimes ) {
$mimes['epub'] = 'application/epub+zip'; // EPUBファイルを許可
$mimes['pdf'] = 'application/pdf'; // PDFファイルを許可
return $mimes;
}
このサンプルコードは、PDFとEPUBファイルをダウンロード可能にするためにMIMEタイプに追加します。
サンプルコード4
add_filter( 'woocommerce_downloadable_file_allowed_mime_types', 'custom_video_mime_types' );
function custom_video_mime_types( $mimes ) {
$mimes['mp4'] = 'video/mp4'; // MP4ビデオファイルを許可
return $mimes;
}
このサンプルコードは、MP4動画ファイルのダウンロードを許可します。
サンプルコード5
add_filter( 'woocommerce_downloadable_file_allowed_mime_types', 'allow_custom_file_extension' );
function allow_custom_file_extension( $mimes ) {
$mimes['gif'] = 'image/gif'; // GIFファイルを許可
return $mimes;
}
このサンプルコードは、GIFファイルをダウンロード可能ファイルとして許可します。
この関数のアクションでの使用可能性
| アクション | 使用例 |
|---|---|
| mu_plugin_loaded | |
| registered_post_type | |
| plugins_loaded | |
| wp_roles_init | |
| setup_theme | |
| after_setup_theme | |
| set_current_user | |
| init | |
| register_sidebar | |
| wp_loaded | |
| send_headers | |
| parse_query | |
| pre_get_posts | |
| wp | |
| template_redirect | |
| get_header | |
| wp_head |