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

概要

woocommerce_loaded アクションは、WooCommerceプラグインが完全に読み込まれた後に実行されるフックです。このアクションは、WooCommerceの初期設定やカスタマイズが行われるタイミングで非常に役立ちます。具体的には、以下のような機能を実装する際によく使用されます。

  1. WooCommerceの設定変更
  2. カスタムフィルターの追加
  3. サードパーティ製プラグインとの統合
  4. カスタムポストタイプの追加
  5. 特定の条件に基づいたアクションのトリガー
  6. WooCommerceのデフォルトの動作を変更

構文

add_action('woocommerce_loaded', 'your_custom_function');

パラメータ

woocommerce_loaded はパラメータを持たないアクションです。

戻り値

このアクション自体は何も値を返しません。ただし、フック内で実行する関数によっては戻り値を持つ場合があります。

バージョン情報

  • WooCommerce バージョン: 3.0 以降
  • 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_loaded', 'custom_function_init');

function custom_function_init() {
    // カスタム設定を追加
    if ( ! get_option('my_custom_option') ) {
        add_option('my_custom_option', 'default_value');
    }
}

このサンプルコードは、WooCommerceが読み込まれた後にカスタムオプションを追加する機能を実装しています。このオプションは、WooCommerceの設定の初期化に使われます。

サンプルコード2

add_action('woocommerce_loaded', 'add_custom_order_status');

function add_custom_order_status() {
    register_post_status('wc-custom-status', array(
        'label'                     => 'Custom Status',
        'public'                    => true,
        'exclude_from_search'      => false,
        'show_in_admin_all_list'    => true,
        'show_in_admin_status_list' => true,
        'show_in_graphql'          => true,
    ));
}

このサンプルコードは、WooCommerceのカスタムオーダーステータスを追加するための機能を実装しています。

サンプルコード3

add_action('woocommerce_loaded', 'custom_taxonomy');

function custom_taxonomy() {
    register_taxonomy('custom_taxonomy', 'product', array(
        'label' => 'Custom Taxonomy',
        'hierarchical' => true,
    ));
}

このサンプルコードは、WooCommerceの商品に対してカスタムタクソノミーを追加する機能を実装しています。

サンプルコード4

add_action('woocommerce_loaded', 'remove_default_styles');

function remove_default_styles() {
    wp_dequeue_style('woocommerce-layout');
    wp_dequeue_style('woocommerce-general');
}

このサンプルコードは、WooCommerceのデフォルトスタイルを削除する機能を実装しています。これにより、独自のスタイルを追加できるようになります。

サンプルコード5

add_action('woocommerce_loaded', 'custom_checkout_fields');

function custom_checkout_fields() {
    // カスタムチェックアウトフィールドの追加
    add_action('woocommerce_after_order_notes', 'custom_checkout_field');
}

function custom_checkout_field($checkout) {
    echo '<div id="custom_checkout_field"><h2>' . __('Custom Field') . '</h2>';
    woocommerce_form_field('custom_field', array(
        'type'          => 'text',
        'class'         => array('my-custom-class form-row-wide'),
        'label'         => __('Custom Field'),
        'placeholder'   => __('Enter something'),
    ), $checkout->get_value('custom_field'));
    echo '</div>';
}

このサンプルコードは、WooCommerceのチェックアウトページにカスタムフィールドを追加する機能を実装しています。

これらのコードはすべて著作権フリーであり、カスタマイズや拡張が可能です。

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


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