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

概要

woocommerce_product_importer_parsed_data は、WooCommerce のインポート機能が解析した製品データをフィルタリングするためのフックです。このフィルタは、インポート時にデータのカスタマイズや調整を行いたい場合に使用されます。具体的には、以下のような場面でよく利用されます。

  1. カスタムメタデータの追加
  2. 特定のインポートデータのスキップ
  3. 値の変換やフォーマット変更
  4. 条件に応じたデータの修正
  5. 既存製品との重複確認
  6. 特定のカテゴリ付与

構文

add_filter('woocommerce_product_importer_parsed_data', 'your_custom_function', 10, 2);

パラメータ

  • $parsed_data (array) – 解析された製品データの配列。
  • $importer (object) – インポータオブジェクトのインスタンス。

戻り値

  • 修正された $parsed_data (array) – フィルタリング後の解析された製品データ。

使用可能なプラグインとバージョン

  • WooCommerce バージョン: 3.0 以降
  • WordPress バージョン: 4.0 以降

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

アクション 使用例
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

サンプルコード

サンプルコード 1: カスタムメタデータの追加

add_filter('woocommerce_product_importer_parsed_data', 'add_custom_meta', 10, 2);

function add_custom_meta($parsed_data, $importer) {
    $parsed_data['custom_meta'] = 'example_value';
    return $parsed_data;
}

このサンプルは、インポート時にすべての製品にカスタムメタデータ「custom_meta」を追加しています。

サンプルコード 2: 特定のデータのスキップ

add_filter('woocommerce_product_importer_parsed_data', 'skip_specific_data', 10, 2);

function skip_specific_data($parsed_data, $importer) {
    if (isset($parsed_data['sku']) && $parsed_data['sku'] == 'specific-sku') {
        return false; // このSKUの製品はスキップされます
    }
    return $parsed_data;
}

このサンプルは、特定のSKUを持つ製品をインポートからスキップします。

サンプルコード 3: 値の変換

add_filter('woocommerce_product_importer_parsed_data', 'convert_price', 10, 2);

function convert_price($parsed_data, $importer) {
    if (isset($parsed_data['regular_price'])) {
        $parsed_data['regular_price'] = $parsed_data['regular_price'] * 1.1; // 10%増加
    }
    return $parsed_data;
}

このサンプルでは、インポートされる製品の通常価格を10%増加させています。

サンプルコード 4: データの修正

add_filter('woocommerce_product_importer_parsed_data', 'modify_description', 10, 2);

function modify_description($parsed_data, $importer) {
    if (isset($parsed_data['description'])) {
        $parsed_data['description'] .= ' - 追加情報'; // 説明に追加情報を付加
    }
    return $parsed_data;
}

このサンプルは、製品の説明に追加情報を付加することで、インポート時の説明をカスタマイズしています。

サンプルコード 5: カテゴリの自動追加

add_filter('woocommerce_product_importer_parsed_data', 'add_default_category', 10, 2);

function add_default_category($parsed_data, $importer) {
    $parsed_data['categories'] = 'デフォルトカテゴリ'; // デフォルトでカテゴリを追加
    return $parsed_data;
}

このサンプルは、すべてのインポート製品に「デフォルトカテゴリ」というカテゴリを自動的に追加します。

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


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