概要
woocommerce_product_importer_parsed_data
は、WooCommerce のインポート機能が解析した製品データをフィルタリングするためのフックです。このフィルタは、インポート時にデータのカスタマイズや調整を行いたい場合に使用されます。具体的には、以下のような場面でよく利用されます。
- カスタムメタデータの追加
- 特定のインポートデータのスキップ
- 値の変換やフォーマット変更
- 条件に応じたデータの修正
- 既存製品との重複確認
- 特定のカテゴリ付与
構文
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;
}
このサンプルは、すべてのインポート製品に「デフォルトカテゴリ」というカテゴリを自動的に追加します。