概要
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 |