概要
woocommerce_attribute_deleted
アクションは、WooCommerceで製品属性が削除された際にトリガーされるフックです。このアクションは、製品属性の管理やカスタマイズに非常に役立ちます。以下のような機能を実装する際によく使われます。
- 属性削除時のログ記録
- 削除された属性に関連するデータのクリーンアップ
- カスタム通知の送信(例: 管理者へのメール)
- プロダクトページの再キャッシュ
- 変更履歴の保存
- 他のシステムとの連携(例: CRMや分析ツールへのデータ送信)
構文
do_action('woocommerce_attribute_deleted', $attribute_id);
パラメータ
$attribute_id
(int): 削除された属性のID。
戻り値
このアクションフックは、値を返しません。
使用可能なバージョン
- WooCommerce: 3.0以上
- WordPress: 4.0以上
サンプルコード
サンプルコード1: 属性削除のログ記録
このサンプルコードは、属性が削除されたときにデバッグログに記録します。
add_action('woocommerce_attribute_deleted', 'log_attribute_deletion');
function log_attribute_deletion($attribute_id) {
error_log("Attribute with ID {$attribute_id} has been deleted.");
}
サンプルコード2: 削除の通知を管理者に送信
削除された属性の情報を管理者にメールで通知します。
add_action('woocommerce_attribute_deleted', 'notify_admin_on_attribute_deletion');
function notify_admin_on_attribute_deletion($attribute_id) {
$admin_email = get_option('admin_email');
$subject = "Attribute Deleted";
$message = "An attribute with ID {$attribute_id} has been deleted.";
wp_mail($admin_email, $subject, $message);
}
サンプルコード3: データのクリーンアップ
削除された属性に関連するカスタムメタデータの削除を行います。
add_action('woocommerce_attribute_deleted', 'cleanup_after_attribute_deletion');
function cleanup_after_attribute_deletion($attribute_id) {
// 削除された属性に関連するメタデータを削除
delete_post_meta($attribute_id, '_custom_meta_key');
}
サンプルコード4: 削除履歴の保存
属性が削除された際に、削除履歴を別のテーブルに保存します。
add_action('woocommerce_attribute_deleted', 'save_deletion_history');
function save_deletion_history($attribute_id) {
global $wpdb;
$table_name = $wpdb->prefix . 'deletion_history';
$wpdb->insert($table_name, array('attribute_id' => $attribute_id, 'deleted_at' => current_time('mysql')));
}
サンプルコード5: キャッシュのクリア
属性が削除された際に、関連するキャッシュをクリアします。
add_action('woocommerce_attribute_deleted', 'clear_product_cache');
function clear_product_cache($attribute_id) {
// 関連する商品キャッシュをクリアする処理
// 例: wp_cache_delete('product_' . $attribute_id);
}
この関数のアクションでの使用可能性
アクション名 | 使用例 |
---|---|
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 |