概要
woocommerce_loaded アクションは、WooCommerceプラグインが完全に読み込まれた後に実行されるフックです。このアクションは、WooCommerceの初期設定やカスタマイズが行われるタイミングで非常に役立ちます。具体的には、以下のような機能を実装する際によく使用されます。
- WooCommerceの設定変更
- カスタムフィルターの追加
- サードパーティ製プラグインとの統合
- カスタムポストタイプの追加
- 特定の条件に基づいたアクションのトリガー
- 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のチェックアウトページにカスタムフィールドを追加する機能を実装しています。
これらのコードはすべて著作権フリーであり、カスタマイズや拡張が可能です。