Sponsored Link
Welcartには「商品カテゴリー複合検索ページ(以下:複合検索ページ)」なるものがあり、カテゴリーを複数選択して絞り込み検索を行うことができるページがあります。
商品カテゴリー複合検索は、デフォルトでサイドバーのウィジェットでも用意されているんですが、今回は複合検索ページを表示した場合の条件分岐のお話を。
Sponsored Link
実はこちらの条件分岐、私が探した中ではめぼしい条件分岐などを見つけることができず、PHPの「strpos」を使用して無理やり実現しています。
「strpos」は、特定の文字列を含むかどうかのチェックをするもので、該当文字列が見つからない場合は、falseを返します。また「!==」は「不等価演算子」と呼ばれるもので、型も含めて、等しくなければ「真(true)」、型も含めて等しければ「偽(false)」を返します。ややこしいですね・・・。
「strpos」と「!==」を使い、「URLに特定の文字列が含まれていることが正しければ」という条件分岐を作ってみましょう。
header.php
<?php
// $urlには前もって表示中のページのURLをいれてある。
// 複合検索ページのURLには「search_item」の文字列がある。
if ( strpos($url, 'search_item' ) !== false ) {
$slug = 'search_item'; // 複合検索ページだった場合の処理を記述
}
?>
多少力技ではありますが、URLの文字列に複合検索ページのURLを含むかどうかで判別しています。「strpos」と「!==」の条件分岐を応用することで他の色々なページに使えますね。