プラグインWooCommerceのwoocommerce_shipping_classes_save_classアクションの使用方法・解説

概要

woocommerce_shipping_classes_save_class は、WooCommerceの配送料クラスを保存した際にトリガーされるアクションフックです。このフックは、配送料クラスがデータベースに保存された後に実行されるため、プラグインやテーマのカスタマイズを行う際に非常に便利です。

よく使われる目的

  1. 追加のメタデータを配送料クラスに保存する。
  2. カスタムトラッキングやロギングを行う。
  3. 特定の条件に基づいてエラーメッセージを表示する。
  4. 配送料クラスのデフォルト値を設定する。
  5. 外部APIとの連携を行う。
  6. 管理画面に通知を表示する。

構文

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>';
    });
}

このコードは、配送料クラスが保存された際に、管理画面で通知を表示します。

この関数について質問する


上の計算式の答えを入力してください