概要
woocommerce_my_account_my_orders_columns
フィルタは、WooCommerceの「マイアカウント」ページに表示される注文のカラムをカスタマイズするために使われます。このフィルタを使用することで、特定の情報を追加したり、表示されるカラムを変更したりすることができます。よく使われる機能従って6つの例を挙げると次の通りです。
- 新しいカラムを追加する
- 特定のカラムの表示名を変更する
- 特定のカラムを非表示にする
- データをカスタマイズして表示する
- カラムの順序を変更する
- 特定の条件に基づいてカラムを表示するか決定する
構文
add_filter('woocommerce_my_account_my_orders_columns', 'カスタムコールバック関数名');
パラメータ
$columns
: 既存のカラム名を含む配列。
戻り値
- 変更されたカラム名の配列。
使用可能なバージョン
- WooCommerce: バージョン 2.6 以降
- WordPress: バージョン 4.5 以降
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
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_my_account_my_orders_columns', 'add_custom_order_column');
function add_custom_order_column($columns) {
$columns['custom_column'] = __('Custom Column', 'woocommerce');
return $columns;
}
このコードは「マイアカウント」ページに「カスタムカラム」という新しいカラムを追加しています。URL: https://docs.woocommerce.com/wc-apidocs/source-class-WC_Query.html#2000
サンプル2: カラムの順序を変更する
add_filter('woocommerce_my_account_my_orders_columns', 'reorder_my_orders_columns');
function reorder_my_orders_columns($columns) {
$new_order = array(
'order-number' => $columns['order-number'],
'custom_column' => __('Custom Column', 'woocommerce'),
'order-date' => $columns['order-date'],
);
return $new_order;
}
このコードは、カスタムカラムを「注文番号」と「注文日」の間に挿入しています。URL: https://woocommerce.com/document/woocommerce-shortcodes/
サンプル3: カラム名を変更する
add_filter('woocommerce_my_account_my_orders_columns', 'rename_order_date_column');
function rename_order_date_column($columns) {
$columns['order-date'] = __('Date of Order', 'woocommerce');
return $columns;
}
このコードは「注文日」のカラム名を「注文の日時」に変更しています。URL: https://www.businessbloomer.com/woocommerce-custom-thank-you-page/
サンプル4: 特定のカラムを非表示にする
add_filter('woocommerce_my_account_my_orders_columns', 'remove_order_total_column');
function remove_order_total_column($columns) {
unset($columns['order-total']);
return $columns;
}
このコードは「注文合計」のカラムを非表示にしています。URL: https://woocommerce.com/posts/woocommerce-3-0/
サンプル5: 条件に基づいてカラムを表示する
add_filter('woocommerce_my_account_my_orders_columns', 'conditionally_display_column');
function conditionally_display_column($columns) {
if (is_user_logged_in()) {
$columns['user_specific_column'] = __('User Specific Column', 'woocommerce');
}
return $columns;
}
このコードは、ユーザーがログインしている場合のみ「ユーザー特有のカラム」を表示しています。URL: https://www.wpbeginner.com/wp-tutorials/how-to-create-a-custom-user-role-in-wordpress/