概要
woocommerce_pagination_args
は、WooCommerceのページネーションに関連する設定を変更するためのフィルターフックです。このフックを利用することで、ページネーションの表示方法やデフォルトの設定をカスタマイズすることができます。特に以下のような機能を実装する際によく使われます。
- ページネーションの表示数を変更する。
- ページネーションのナビゲーションテキストをカスタマイズする。
- 現在のページ番号のスタイルを調整する。
- ページネーションに使用するクラスを変更する。
- 特定の条件に応じてページネーションを非表示にする。
- AJAX読み込みにおけるページネーションの設定を調整する。
構文
add_filter('woocommerce_pagination_args', 'your_custom_function');
パラメータ
$args
: 配列。ページネーションに関する設定項目を含む配列。
戻り値
$args
: 修正されたページネーションの引数配列。
使用可能なWooCommerceのバージョン
- 常に最新のWooCommerceバージョンで使用可能(少なくともWooCommerce 2.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_pagination_args', 'custom_woocommerce_pagination_args');
function custom_woocommerce_pagination_args($args) {
$args['prev_text'] = __('« 前へ', 'text-domain');
$args['next_text'] = __('次へ »', 'text-domain');
return $args;
}
これは、WooCommerceのページネーションで「前へ」と「次へ」のテキストをカスタマイズするサンプルコードです。
引用元: https://example.com/sample1
サンプルコード 2
add_filter('woocommerce_pagination_args', 'change_pagination_number');
function change_pagination_number($args) {
$args['mid_size'] = 2; // 中間に表示されるページ番号を2つに設定
return $args;
}
このコードは、ページネーションで中間に表示されるページ番号の数を2つに設定します。
引用元: https://example.com/sample2
サンプルコード 3
add_filter('woocommerce_pagination_args', 'custom_pagination_class');
function custom_pagination_class($args) {
$args['type'] = 'array'; // ページネーションのタイプを配列に設定
return $args;
}
これは、ページネーションのナビゲーションを配列形式に変更するサンプルコードです。
引用元: https://example.com/sample3
サンプルコード 4
add_filter('woocommerce_pagination_args', 'hide_pagination_if_one_page');
function hide_pagination_if_one_page($args) {
if (is_shop() && (get_query_var('paged') == 0 || get_query_var('paged') == 1)) {
$args['total'] = 1; // 一ページのみの場合、全体のページ数を1に設定
}
return $args;
}
このコードは、ショップページで商品が一つしかない場合、ページネーションを非表示にするようにします。
引用元: https://example.com/sample4
サンプルコード 5
add_filter('woocommerce_pagination_args', 'custom_paginate_style');
function custom_paginate_style($args) {
$args['class'] = 'my-custom-pagination-class'; // カスタムクラスの設定
return $args;
}
このサンプルコードでは、ページネーションにカスタムのCSSクラスを追加しています。
引用元: https://example.com/sample5