概要
woocommerce_shipping_classes_save_class
は、WooCommerceの配送料クラスを保存した際にトリガーされるアクションフックです。このフックは、配送料クラスがデータベースに保存された後に実行されるため、プラグインやテーマのカスタマイズを行う際に非常に便利です。
よく使われる目的
- 追加のメタデータを配送料クラスに保存する。
- カスタムトラッキングやロギングを行う。
- 特定の条件に基づいてエラーメッセージを表示する。
- 配送料クラスのデフォルト値を設定する。
- 外部APIとの連携を行う。
- 管理画面に通知を表示する。
構文
add_action('woocommerce_shipping_classes_save_class', 'your_function_name', 10, 2);
パラメータ
int $term_id
– 保存されたテクスチャームのID。array $args
– テクスチャーのアーギュメント。
戻り値
このアクション自体は戻り値を持ちませんが、フックされた関数内での実行結果に応じて、設定やデータベースの状態が変更されます。
WooCommerceのバージョン
woocommerce_shipping_classes_save_class
は、WooCommerceのバージョン 2.0 以降で利用可能です。
WordPressのバージョン
このアクションは、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_action('woocommerce_shipping_classes_save_class', 'save_custom_meta_on_shipping_class', 10, 2);
function save_custom_meta_on_shipping_class($term_id, $args) {
update_term_meta($term_id, 'my_custom_meta_key', 'some value');
}
このコードは、配送料クラスが保存される時にカスタムメタデータを保存します。
サンプルコード2
add_action('woocommerce_shipping_classes_save_class', 'log_shipping_class_save', 10, 2);
function log_shipping_class_save($term_id, $args) {
error_log('Shipping class saved with ID: ' . $term_id);
}
このコードは配送料クラスが保存された際に、ログファイルにそのIDを書き込む機能です。
サンプルコード3
add_action('woocommerce_shipping_classes_save_class', 'validate_shipping_class', 10, 2);
function validate_shipping_class($term_id, $args) {
if (empty($args['name'])) {
wp_die(__('Shipping class name cannot be empty.', 'your-text-domain'));
}
}
このコードは配送料クラスの名前が空であれば、エラーメッセージを表示します。
サンプルコード4
add_action('woocommerce_shipping_classes_save_class', 'send_api_request_after_save', 10, 2);
function send_api_request_after_save($term_id, $args) {
// Your API logic here
}
このコードは配送料クラスが保存された後に、外部APIにデータを送信するための構造を提供します。
サンプルコード5
add_action('woocommerce_shipping_classes_save_class', 'notify_admin_shipping_class_saved', 10, 2);
function notify_admin_shipping_class_saved($term_id, $args) {
add_action('admin_notices', function() {
echo '<div class="notice notice-success is-dismissible"><p>' .
__('Shipping class saved successfully!', 'your-text-domain') .
'</p></div>';
});
}
このコードは、配送料クラスが保存された際に、管理画面で通知を表示します。