概要
list_product_cats
関数は、WooCommerceプラグインにおいて製品カテゴリーのリストを表示するために特化した関数です。この関数は、特に次のような機能を実装する際によく利用されます。
- 商品ページでのカテゴリー表示
- 商品フィルターメニューの作成
- カテゴリー別のサイドバーウィジェットの生成
- カテゴリーアーカイブの表示
- SEO向けのカテゴリーリストの追加
- オンラインショップのナビゲーションメニューのカスタマイズ
構文
list_product_cats( $args );
パラメータ
$args
(array) – 引数の配列。デフォルトは空で、表示するカテゴリーの設定を変更できます。
戻り値
- 返り値は、指定されたカテゴリーのリストをHTML形式で返します。
使用可能なプラグインWooCommerceのバージョン
- 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: 商品カテゴリーのリスト表示
<?php
function display_product_categories() {
echo '<h2>商品カテゴリー</h2>';
echo '<ul>';
list_product_cats();
echo '</ul>';
}
add_action('woocommerce_before_main_content', 'display_product_categories');
このサンプルコードは、WooCommerceのメインコンテンツの前に商品カテゴリーのリストを表示するものです。woocommerce_before_main_content
というフックを使用しています。
サンプルコード2: カスタム引数での表示
<?php
function custom_product_categories_list() {
$args = array(
'orderby' => 'name',
'order' => 'ASC',
);
list_product_cats($args);
}
add_action('woocommerce_after_main_content', 'custom_product_categories_list');
このコードは、商品カテゴリーを名前順で昇順に表示するための引数を設定し、woocommerce_after_main_content
フックを使用して表示します。
サンプルコード3: ウィジェットへのカテゴリー追加
<?php
function add_product_cat_to_widget() {
echo '<div class="widget">';
echo '<h3>商品カテゴリー</h3>';
list_product_cats();
echo '</div>';
}
add_action('widgets_init', 'add_product_cat_to_widget');
このサンプルは、ウィジェットエリアに商品カテゴリーリストを追加するものです。widgets_init
フックを使っています。
サンプルコード4: カスタムメニューにカテゴリー追加
<?php
function add_product_categories_to_menu($items, $args) {
if( $args->theme_location == 'primary' ) {
$items .= '<li>' . list_product_cats() . '</li>';
}
return $items;
}
add_filter('wp_nav_menu_items', 'add_product_categories_to_menu', 10, 2);
このコードは、プライマリメニューに商品カテゴリーを追加するために、wp_nav_menu_items
フィルターを利用しています。
サンプルコード5: 商品一覧ページでのカテゴリー表示
<?php
function show_categories_on_product_page() {
global $product;
echo '<div class="product-categories">';
echo 'この商品は次のカテゴリーに属します: ';
echo list_product_cats(array('include' => $product->get_category_ids()));
echo '</div>';
}
add_action('woocommerce_single_product_summary', 'show_categories_on_product_page', 25);
このサンプルは、シングル商品ページにその商品のカテゴリーを表示するためのものです。woocommerce_single_product_summary
フックを使っています。