概要
wc_order_types
フィルタは、WooCommerce内での注文タイプをカスタマイズするために使用されます。このフィルタを使用することで、デフォルトの注文タイプに新しい注文タイプを追加したり、既存の注文タイプを変更したりできます。これにより、特定のビジネスニーズに合わせた柔軟な設定が可能になります。
具体的な機能として、以下のような用途でよく使われます。
- 新しいカスタム注文タイプを追加する。
- 既存の注文タイプのラベルを変更する。
- 注文管理画面での表示設定をカスタマイズする。
- レポートや分析のためのカスタムフィルタを作成する。
- プラグイン間での互換性を持たせるために注文タイプを調整する。
- オーダーエクスポート機能をカスタマイズする。
構文
add_filter( 'wc_order_types', 'my_custom_order_types' );
function my_custom_order_types( $order_types ) {
// カスタム処理
return $order_types;
}
パラメータ
$order_types
: 現在の注文件数の配列。
戻り値
- 返されるのは、カスタマイズにより変更された注文タイプの配列。
使用可能なプラグインバージョン
- 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_filter( 'wc_order_types', 'add_custom_order_type' );
function add_custom_order_type( $order_types ) {
$order_types['custom'] = 'カスタムオーダー';
return $order_types;
}
このコードは、カスタムの注文タイプ「カスタムオーダー」を追加するサンプルです。
引用元: https://developer.woocommerce.com/
サンプルコード2
add_filter( 'wc_order_types', 'rename_completed_order_type' );
function rename_completed_order_type( $order_types ) {
if ( isset( $order_types['completed'] ) ) {
$order_types['completed'] = '完了した注文';
}
return $order_types;
}
このコードは、既存の「completed」オーダータイプのラベルを「完了した注文」に変更する例です。
引用元: https://developer.woocommerce.com/
サンプルコード3
add_filter( 'wc_order_types', 'remove_pending_order_type' );
function remove_pending_order_type( $order_types ) {
unset( $order_types['pending'] );
return $order_types;
}
このコードは、デフォルトの「pending」オーダータイプを削除するサンプルです。
引用元: https://developer.woocommerce.com/
サンプルコード4
add_filter( 'wc_order_types', 'filter_order_types_for_report' );
function filter_order_types_for_report( $order_types ) {
return array_filter( $order_types, function( $type ) {
return $type !== 'refunded';
});
}
このコードは、「refunded」タイプをレポートから除外するフィルタリングを行います。
引用元: https://developer.woocommerce.com/
サンプルコード5
add_filter( 'wc_order_types', 'custom_order_type_display' );
function custom_order_type_display( $order_types ) {
$order_types['custom'] = '特別注文';
$order_types['standard'] = '通常注文';
return $order_types;
}
このコードは、「特別注文」というカスタムタイプを追加し、通常注文のラベルを変更する例です。
引用元: https://developer.woocommerce.com/