概要
woocommerce_shortcode_$THIS->TYPE_loop_no_results
フィルタは、WooCommerceの特定のショートコードによって生成される商品のループが、結果を返さない場合に実行されるフックです。このフィルタを使用すると、デフォルトのメッセージをカスタマイズしたり、特定の条件に基づいて別の処理を実行したりすることができます。
このフィルタは、以下のような機能を実装する際によく使用されます。
- ループが結果を返さない場合のカスタムメッセージ表示
- ユーザーに対して関連する商品を提案する
- SEO向けのカスタマイズされたコンテンツを追加する
- 特別セールやプロモーションの告知を行う
- 商品の在庫状況を確認する指示を表示する
- カスタムフォームやサポートリクエストのリンクを表示する
構文
このフィルタの基本的な構文は以下の通りです。
add_filter('woocommerce_shortcode_$THIS->TYPE_loop_no_results', 'your_custom_function', 10, 2);
パラメータ
$output
: ループが結果を返さない場合に表示されるメッセージや出力$shortcode
: 使用されているショートコードの情報
戻り値
- カスタマイズされた出力結果を返します。
使用可能なWooCommerceのバージョン
- 6.0以上
使用可能なWordPressのバージョン
- 5.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_shortcode_product_loop_no_results', 'custom_no_results_message', 10, 2);
function custom_no_results_message($output, $shortcode) {
return '<p>商品が見つかりませんでした。<a href="/shop">他の製品を探す</a></p>';
}
このコードは、商品が見つからない場合にカスタムメッセージとリンクを表示します。
サンプル2: 関連商品の提案
add_filter('woocommerce_shortcode_product_loop_no_results', 'related_products_suggestion', 10, 2);
function related_products_suggestion($output, $shortcode) {
return '<p>あなたにおすすめの商品:</p>' . do_shortcode('[related_products]');
}
このコードでは、商品が見つからない時に関連商品を表示します。
サンプル3: SEO対策のコンテンツ追加
add_filter('woocommerce_shortcode_product_loop_no_results', 'seo_custom_content', 10, 2);
function seo_custom_content($output, $shortcode) {
return $output . '<p>より多くの選択肢が他にもあります。</p>';
}
このコードは、SEO施策として関連するコンテンツを追加します。
サンプル4: プロモーションの告知
add_filter('woocommerce_shortcode_product_loop_no_results', 'promotion_alert', 10, 2);
function promotion_alert($output, $shortcode) {
return '<p>現在、期間限定のプロモーション中です!今すぐチェック!</p>';
}
このコードは、見つからない商品に対してプロモーション情報を表示します。
サンプル5: サポートリクエストリンクの表示
add_filter('woocommerce_shortcode_product_loop_no_results', 'support_request_link', 10, 2);
function support_request_link($output, $shortcode) {
return $output . '<p>サポートが必要ですか?<a href="/support">サポートに問い合わせる</a></p>';
}
このコードでは、商品が見つからない際にサポートリクエストのリンクを表示します。