概要
woocommerce_product_export_meta_value
フィルタは、WooCommerceでの製品エクスポート時に製品のメタデータの値を操作するために使用されます。このフィルタを使うことで、エクスポートされる製品情報のカスタマイズが可能になります。具体的には、以下のような用途でよく使用されます。
- カスタムフィールドの追加
- メタデータの形式の変更
- エクスポートデータに条件を追加
- 特定の製品カテゴリや属性に応じた値の変更
- エクスポートされる値の翻訳
- 競合・重複データの排除
構文
add_filter( 'woocommerce_product_export_meta_value', 'your_function_name', 10, 3 );
パラメータ
$value
: エクスポートされる製品メタデータの値$product
: 現在処理中の製品オブジェクト$key
: メタデータのキー
戻り値
- 変更されたエクスポートデータのメタデータの値。
使用可能なプラグイン WooCommerce のバージョン
- WooCommerce 3.0 以上
使用可能なワードプレスのバージョン
- WordPress 4.0 以上
サンプルコード
サンプル1: カスタムフィールドの追加
このコードは、製品エクスポート時にカスタムフィールド「custom_field」を追加します。
add_filter( 'woocommerce_product_export_meta_value', 'add_custom_field_to_export', 10, 3 );
function add_custom_field_to_export( $value, $product, $key ) {
if ( $key === 'custom_field' ) {
return get_post_meta( $product->get_id(), 'custom_field', true );
}
return $value;
}
引用元: https://docs.woocommerce.com/
サンプル2: メタデータの形式の変更
このコードは、エクスポートされるSKU情報を大文字に変換します。
add_filter( 'woocommerce_product_export_meta_value', 'uppercase_sku_export', 10, 3 );
function uppercase_sku_export( $value, $product, $key ) {
if ( $key === '_sku' ) {
return strtoupper( $value );
}
return $value;
}
引用元: https://woocommerce.wordpress.com/
サンプル3: 条件付きメタデータの変更
特定のカテゴリに属する製品のメタデータを変更します。
add_filter( 'woocommerce_product_export_meta_value', 'conditional_meta_value_export', 10, 3 );
function conditional_meta_value_export( $value, $product, $key ) {
if ( has_term( 'specific-category', 'product_cat', $product->get_id() ) && $key === '_price' ) {
return $value - 10; // 価格から10を引く
}
return $value;
}
引用元: https://woocommerce.com/
サンプル4: メタデータの翻訳
このコードは、エクスポート時に指定されたメタデータを翻訳します。
add_filter( 'woocommerce_product_export_meta_value', 'translate_meta_value', 10, 3 );
function translate_meta_value( $value, $product, $key ) {
if ( $key === '_translation' ) {
// 翻訳ロジックを実装
return translate( $value, 'your_text_domain' );
}
return $value;
}
引用元: https://docs.woocommerce.com/document/official-woocommerce-developer-documentation/
サンプル5: 競合データの排除
このコードは、重複したメタデータをエクスポートから排除します。
add_filter( 'woocommerce_product_export_meta_value', 'remove_duplicate_meta_value', 10, 3 );
function remove_duplicate_meta_value( $value, $product, $key ) {
if ( in_array( $value, ['redundant_value1', 'redundant_value2'] ) ) {
return ''; // 空に置き換え
}
return $value;
}
引用元: https://woocommerce.wordpress.com/
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
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 |
この表では、woocommerce_product_export_meta_value
フィルタの使用例が記載されています。使用されているアクションはないため、すべて空欄となっています。