概要
フィルタ woocommerce_account_downloads_columns
は、WooCommerce の「アカウント」ページにおけるダウンロードの列をカスタマイズする際に使用されます。このフィルタを使用することで、ダウンロード表示における列の内容を変更することができます。例えば、ダウンロードの状態や追加情報を表示するためのカスタム列を追加することが考えられます。
よく使われる機能
- ダウンロードファイルの状態を表示するカラムの追加
- ファイルの有効期限に関する情報を表示するカラムの追加
- ユーザー固有のメタ情報を表示するカラムの追加
- ダウンロード回数をカウントして表示するカラムの追加
- カスタムリンクを設定してダウンロードのアクセス性を高める
- 特定の条件に基づいてダウンロード列を非表示にする
構文
add_filter('woocommerce_account_downloads_columns', 'custom_downloads_columns');
function custom_downloads_columns($columns) {
// コード
return $columns;
}
パラメータ
$columns
: ダウンロードリストに表示される列の配列。
戻り値
- カスタマイズされた列の配列。
使用可能なプラグインWooCommerceのバージョン
- WooCommerce 3.0以上
ワードプレスのバージョン
- WordPress 4.0以上
サンプルコード
サンプル1: カスタム列を追加する
add_filter('woocommerce_account_downloads_columns', 'add_custom_download_column');
function add_custom_download_column($columns) {
$columns['custom_column'] = __('Custom Column', 'woocommerce');
return $columns;
}
このサンプルコードは、WooCommerceのアカウントダウンロードに「カスタムカラム」を追加します。
サンプル2: カスタム列にデータを追加する
add_action('woocommerce_account_downloads_column_custom_column', 'custom_column_data');
function custom_column_data($item) {
echo 'カスタムデータ: ' . get_post_meta($item['product_id'], 'custom_data_key', true);
}
このコードは、上記で追加したカスタム列に関連情報を表示しています。
サンプル3: 列の順序を変更する
add_filter('woocommerce_account_downloads_columns', 'reorder_download_columns');
function reorder_download_columns($columns) {
$new_order = array(
'download_name' => $columns['download_name'],
'download_date' => $columns['download_date'],
'custom_column' => __('Custom Column', 'woocommerce'),
);
return $new_order;
}
このサンプルは、ダウンロード情報の列の順序を変更しています。
サンプル4: 列を非表示にする
add_filter('woocommerce_account_downloads_columns', 'hide_some_download_columns');
function hide_some_download_columns($columns) {
unset($columns['download_date']);
return $columns;
}
このコードは、ダウンロード一覧から「ダウンロード日」カラムを非表示にします。
サンプル5: ダウンロード失効情報を追加する
add_filter('woocommerce_account_downloads_columns', 'add_expiration_column');
function add_expiration_column($columns) {
$columns['expiration_date'] = __('Expiration Date', 'woocommerce');
return $columns;
}
add_action('woocommerce_account_downloads_column_expiration_date', 'expiration_date_data');
function expiration_date_data($item) {
echo get_post_meta($item['product_id'], 'expiration_date_key', true);
}
このサンプルでは、ダウンロード失効日を表示するカスタム列を追加しています。
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
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 |