概要
woocommerce_product_export_row_data
フィルタは、WooCommerceの製品エクスポート機能に関連するフックで、製品データがエクスポートされる前に、そのデータを修正または追加するために使用されます。このフィルタを使用することで、エクスポートデータにカスタム情報を追加したり、既存の情報を変更したりできます。
よく使われる機能:
1. カスタムメタデータの追加
2. 特定の製品情報のフォーマット変更
3. セール価格や在庫数の調整
4. エクスポートするフィールドの削除
5. 外部データの統合
6. エクスポートデータのローカライズ
構文
add_filter('woocommerce_product_export_row_data', 'your_custom_function', 10, 2);
パラメータ
$row_data
: エクスポートされる製品データの配列。$product
: エクスポートされる WooCommerce 製品オブジェクト。
戻り値
- 修正された
$row_data
配列。
使用可能なプラグインバージョン
- WooCommerceバージョン: 3.0.0 以降
- WordPressバージョン: 4.0 以降
サンプルコード
サンプル1: カスタムメタデータの追加
add_filter('woocommerce_product_export_row_data', 'add_custom_meta_to_export', 10, 2);
function add_custom_meta_to_export($row_data, $product) {
$row_data['custom_meta'] = get_post_meta($product->get_id(), '_custom_meta_key', true);
return $row_data;
}
このコードは、製品エクスポートデータにカスタムメタデータを追加しています。
サンプル2: 製品価格のフォーマット変更
add_filter('woocommerce_product_export_row_data', 'format_price_for_export', 10, 2);
function format_price_for_export($row_data, $product) {
$row_data['price'] = number_format($product->get_price(), 2);
return $row_data;
}
このコードは、エクスポートされる製品の価格を2桁小数にフォーマットしています。
サンプル3: 特定のフィールドの削除
add_filter('woocommerce_product_export_row_data', 'remove_unwanted_fields', 10, 2);
function remove_unwanted_fields($row_data, $product) {
unset($row_data['sku']);
return $row_data;
}
このコードは、製品エクスポート時にSKUフィールドを削除します。
サンプル4: 在庫数の調整
add_filter('woocommerce_product_export_row_data', 'adjust_stock_quantity', 10, 2);
function adjust_stock_quantity($row_data, $product) {
$row_data['stock_quantity'] = $product->get_stock_quantity() > 5 ? 'In stock' : 'Low stock';
return $row_data;
}
このコードは、在庫数に応じて在庫状況を変更します。
サンプル5: エクスポートデータのローカライズ
add_filter('woocommerce_product_export_row_data', 'localize_export_data', 10, 2);
function localize_export_data($row_data, $product) {
$row_data['name'] = __('Product Name: ', 'your-text-domain') . $row_data['name'];
return $row_data;
}
このコードは、製品名の前にローカライズされたテキストを追加しています。
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
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 |