概要
フィルタ woocommerce_order_number
は、WooCommerce 内での注文番号の表示や生成に関連するフックです。このフィルタを使用することで、開発者は注文番号のカスタマイズが可能になります。一般的な使用ケースとしては以下のような場面が考えられます。
- カスタムプレフィックスの追加: 注文番号の前に特定の文字列を追加する。
- フォーマットの変更: 注文番号を特定の形式に変更する。
- 番号の非表示: 注文番号を非表示にする。
- 番号のランダム化: 注文番号をランダムに生成したものに置き換える。
- 注文ステータスに基づく変更: 注文ステータスに基づいて異なる番号形式を表示する。
- 国や地域によるカスタマイズ: 地域により適切な形式で注文番号を表示する。
構文
add_filter('woocommerce_order_number', 'custom_order_number', 10, 2);
パラメータ
$order_id
: 注文のID。$order
: WC_Order オブジェクト。
戻り値
カスタマイズされた注文番号(文字列)。
使用可能な WooCommerce のバージョン
- WooCommerce 3.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_filter('woocommerce_order_number', 'add_custom_prefix', 10, 2);
function add_custom_prefix($order_number, $order) {
return 'ORD-' . $order_number;
}
このコードは、全ての注文番号の前に「ORD-」というプレフィックスを追加します。
サンプルコード 2: 番号のフォーマット変更
add_filter('woocommerce_order_number', 'format_order_number', 10, 2);
function format_order_number($order_number, $order) {
return '#' . $order_number;
}
ここでは、注文番号の前に「#」を追加して、より視覚的に目立たせています。
サンプルコード 3: 注文番号の非表示
add_filter('woocommerce_order_number', 'hide_order_number', 10, 2);
function hide_order_number($order_number, $order) {
return '';
}
このコードは、注文番号を完全に非表示にします。
サンプルコード 4: ランダム注文番号の生成
add_filter('woocommerce_order_number', 'random_order_number', 10, 2);
function random_order_number($order_number, $order) {
return 'RN-' . rand(1000, 9999);
}
このコードでは、ランダムな4桁の番号を生成し、先頭に「RN-」を付けて表示します。
サンプルコード 5: 国ごとのフォーマット
add_filter('woocommerce_order_number', 'country_based_order_format', 10, 2);
function country_based_order_format($order_number, $order) {
$country = $order->get_billing_country();
if ($country === 'JP') {
return 'JP-' . $order_number;
}
return $order_number;
}
注文を行った国が日本の場合には、注文番号の先頭に「JP-」を付加します。
これらのサンプルは、WooCommerce のカスタマイズにおいて woocommerce_order_number
フィルタを利用する方法を示しています。詳細な使い方は公式の WooCommerce ドキュメントを参照してください。