プラグインWooCommerceのwoocommerce_rest_allowed_image_mime_typesフィルタの使用方法・解説

概要

woocommerce_rest_allowed_image_mime_types は、WooCommerce が REST API 経由で受け入れる画像 MIME タイプのリストをフィルタリングするためのフックです。このフィルタを使用することにより、特定の画像形式を許可または拒否することができます。具体的な機能としては以下のような用途が考えられます。

  1. 特定の画像形式のみをサポートしたい場合
  2. セキュリティ上の理由から特定の画像タイプをブロックしたい場合
  3. クライアントが利用できる画像種類を制限したい場合
  4. メディアライブラリへの画像アップロード時の制限を設けたい場合
  5. 外部アプリケーションによるREST APIの利用を制御したい場合
  6. 自社のビジネスルールに基づいた画像タイプの管理を行いたい場合

このフィルタは、WooCommerce バージョン 2.6 以降、WordPress バージョン 4.5 以降で使用可能です。

構文

add_filter( 'woocommerce_rest_allowed_image_mime_types', 'custom_allowed_image_mime_types' );

パラメータ

  • $mime_types (配列): 許可される MIME タイプの配列。

戻り値

  • (配列): 許可された MIME タイプを含む配列を返します。

サンプルコード例

サンプルコード 1: JPEG 形式のみを許可

add_filter( 'woocommerce_rest_allowed_image_mime_types', function( $mime_types ) {
    return [ 'image/jpeg' ];
});

このコードは、WooCommerce REST API で JPEG 形式の画像のアップロードのみを許可します。

サンプルコード 2: GIF と PNG 形式を許可

add_filter( 'woocommerce_rest_allowed_image_mime_types', function( $mime_types ) {
    return [ 'image/gif', 'image/png' ];
});

このコードは、GIF および PNG 形式の画像を 허可し、他のタイプを拒否します。

サンプルコード 3: JPEG、PNG、GIF と SVG を許可

add_filter( 'woocommerce_rest_allowed_image_mime_types', function( $mime_types ) {
    $mime_types[] = 'image/svg+xml'; // SVG を追加
    return $mime_types;
});

このコードでは、既存の MIME タイプに SVG タイプを追加して許可します。

サンプルコード 4: すべての画像形式を許可

add_filter( 'woocommerce_rest_allowed_image_mime_types', function( $mime_types ) {
    return array_keys( wp_get_mime_types() );
});

このコードは、WordPress がサポートするすべての画像形式を許可します。

サンプルコード 5: MIME タイプの追加と削除

add_filter( 'woocommerce_rest_allowed_image_mime_types', function( $mime_types ) {
    unset( $mime_types['image/bmp'] ); // BMP を削除
    $mime_types[] = 'image/webp'; // WebP を追加
    return $mime_types;
});

このコードは、BMP 形式を削除し、WebP 形式を追加して、カスタマイズされた MIME タイプのリストを作成します。

この関数のアクションでの使用可能性

アクション 使用可能性
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

この関数について質問する


上の計算式の答えを入力してください