HOME  /Welcart
 /Welcart_basic 検索BOXをカテゴリ別に検索できる様にする
2020年09月09日

Welcart_basic 検索BOXをカテゴリ別に検索できる様にする

このカスタマイズを行う前に検索BOXの仕組みとは?を理解した上で行ってください。

 

ここでは下図の様にページの属性に沿った検索ができる様にカスタマイズします。

上記のどの検索ボックスを表示するか?はページ情報を読み込んで自動で判断させます。

 

尚、このカスタマイズは下記の設定が終わっている事を前提とします。

 Welcart_basicの制限解除と必要な関数の作成

 Welcart_basicのcategory.phpのカスタマイズ

 

1.子テーマに「search.php」を作成します

検索結果の表示には「search.php」が使われますが、このプログラムは「商品」だけを表示するプログラムとなっています。

そこで下記の方法で「製品」や「ブログ」等が表示できるプログラムを作成していきます。

1.search.phpの作成

Welcart_basicのcategory.phpのカスタマイズで作成した「category.php」をコピーし、名前を「search.php」に変更します。

これで「製品」も「ブログ」の表示できる基礎が出来上がりました。

 

2.検索結果が無かった時の処理を追加する。

①製品の検索ループの修正

<修正前>

<?php if (have_posts()) : ?> <!-- 商品の表示 -->
		<div class="cat-il type-grid">
            省略
		</div><!-- .cat-il -->
<?php endif; ?>

<修正後>

<?php if (have_posts()) : ?> <!-- 商品の表示 -->
		<div class="cat-il type-grid">
           省略
		</div><!-- .cat-il -->
<?php else: ?>
		<p><?php echo __('No posts found.', 'usces'); ?></p>
<?php endif; ?>

赤字の部分を追加します

 

②ブログの検索ループの修正

修正方法は上記と同様です。

以上で「製品」でも「ブログ」等でも検索結果が表示できる様になりました。

 

2.検索フォームを作成する

1.プログラム

func¥welcart¥headerの下に「my_basic_searchform.php」というファイルを作成し、下記を追加します。

<?php 
/*****************************************************************************
my_basic_searchformの設定
*******************************************************************************/
function my_basic_searchform() {
	list($slug,$name) = get_my_category();
?>
<i class="fa fa-search"></i>
<form  action="<?php echo home_url('/');?>" >
	<div class="s-box">
		<?php if(is_my_item()):?> /* 商品の検索フォーム */
			<input type='text' name='s' id='s' value='' class='search-text'  placeholder='商品検索'>
			<input type='hidden' name='category_name' value='item'>
		<?php else:?> /* 商品以外の検索フォーム */
			<input type='text' name='s' id='s' value='' class='search-text' placeholder=<?php echo $name.'検索';?>>
			<input type="hidden" name="category_name" value=<?php echo $slug;?>>
		<?php endif;?>
		<input type="submit"  class="searchsubmit" value="&#xf002;" />
	</div>
</form>

			
<?php
 }
?>

■虫眼鏡アイコンを表示する「<i class=”fa fa-search”></i>」は、本来、ここで使うべきものなので「header.php」から外して、ここに持ってきました。

参照:Welcart_Basicの検索フォームの仕様

■商品の検索は「valueをitem」にして、商品だけを検索しています。また検索ボックスのプレ表示は「商品検索」にしています。

■商品以外の検索は、「valueをカテゴリのスラッグ」にして、そのカテゴリの文書だけを検索しています。また検索ボックスのプレ表示は「カテゴリ名+検索」という文字列を表示しています。

■「s-box」クラスと「searchsubmit」は、welcart_basicのCSSに合わせました。

以上で形は「welcart_basic」のままで、「商品」や「ブログ」が各々検索できる様になりました。

 

2.プログラムのロード

functions.phpに上記関数の読み込みを記述します。

/* 検索フォーム関数の追加 */
	get_template_part('func/welcart/header/my_searchform');

以上でそれぞれのカテゴリの中だけを検索する仕組みが出来上がりました。

 

3.header.phpの修正

最後に子テーマの「header.php」を変更します。

上記ファイルが無い場合は、親テーマからコピーして下さい。

<変更前>

<div class="search-box">
	<i class="fa fa-search"></i>
	<?php get_head_search_form(); ?>
</div>

<変更後>

<div class="search-box">
	<?php my_basic_searchform();?>
</div>

以上で完了です。

以上でこのドキュメントの説明は完了です。

関連ドキュメントはメニュの「Wordpress(応用編)タブ」か下記の関連記事一覧から探して下さい。

又、このサイトには、Google広告が掲載されています。

この記事が貴方の参考になりましたら、広告もご覧頂ければ幸いです。


<関連記事一覧>

「wecart」に関連するドキュメントを表示しています。尚、このページネーションはJquryで制御しています。

welcartで用意されている業務パックデータの表示関数はwhile(usces_have_skus())ループの中でしか使えません。しかしforeachの方がカウンター処理がしやすいのでこれが使える業務パックデータの表示関数を作成しました。

Welcartでは業務パック割引(購入数量割引)という機能があります。この機能を使うとカートページにGPマークが表示させますがこのマークを任意のアイコンに変更する方法を解説しています。

カートに商品を投入すると、商品名は①商品名②商品コード③SKU名④SKUコードを合わせた文字列が商品名として表示されます。これをカスタマイズする方法を解説しています。

Welcartのカートへの投入ボタンのプログラム解説と、色と文字を変更する新しい関数の作成方法を解説しています。

welcart_basicのオプション表示は、入力必須をチェックしてもユーザから見て判りません。またチェックボックスやラジオボタン表示に一部、おかしい所があります。ここではこれらの修正方法を解説しています。

Welcartにはポイントを付与し、商品購入時にそのポイントを利用する仕組みがあります。又キャンペーン設定でポイントをn倍にしたり価格を値引く仕組みもあります。ここではそれらの概要と問題点及び解決策を解説しています。

Welcartでは業務パック割引(購入数量割引)という機能があります。これは、指定した数量以上を購入した場合に価格を値引く仕組みですが、業務パック割引という言葉はあまりなじみがないのでこのメッセージを変更する方法を解説しています。

Welcart_Basicの購入数量は数値入力です。しかしスマホではこのような入力方法は面倒なので+/-ボタンで購入数量が変更できる様に変更した事例を紹介しています。

Welcartでは個別商品画面に商品オプションやカスタムフィールドを追加する事ができます。ここではその追加方法を解説しています。

Welcartで個別商品表示画面から、商品マスタ編集にジャンプする事ができるとコンテンツ編集効率が飛躍的に向上します。しかしWelcartではこの機能が提供されていないのでこれを可能になる関数を作成します。

ここではWelcart商品を価格順に並び替える為に、WordpressのメタデータにWelcartの価格データを自動的に登録する関数の作成方法を解説しています。

ここではWelcartのキャンペーン商品設定の方法と、設定された商品リストを表示する関数を作成する方法を解説しています

ここではWelcartの商品カテゴリを指定して商品リストする関数を作成しています。全商品、おすすめ商品、新製品及び商品カテゴリが対象となります。

ここでは売れている商品をWelcartのDBから読み出して「売れ筋商品」としてリストする関数を作成する方法を解説しています。

Welcartには関連商品という概念はありません。そこで個別商品を表示した時に、その商品と同じカテゴリの商品を「関連商品リスト」として表示する関数を作成する方法を解説します。

Welcart_basicのメニュをカスタマイズする為にはどの様な仕組みで作られているか?を知る必要があります。そこでここではメニュの仕様を解説しています。

ここではWelcart_basicのカートボタンの「色」と「文字」を変更する関数の作成方法を解説しています。

カートボタンをカスタマイズする為には、このカートがどの様に作られているのか?を知る必要があります。そこでここではその仕様について解説しています。

Welcartで会員システムを使うのであれば、ログイン後の画面に現在使えるポイント数が表示されているのが親切です。そこでここではwelcart_bascで保有ポイントが表示されるようにカスタマイズしたサンプルを解説しています。

welcart_basicの会員システムをカスタマイズする為には、この機能がどの様に作られているか?を知る必要があります。
そこでこのでは会員システムの仕組みについて解説しています。

Welcart_basicの検索機能をカスタマイズする為には、これがどの様に作られているのか?を知る必要があります。ここではその仕様を解説しています。

ここでは「welcart_basic」の「category.php」がブログ用のサイドーバーが使われてない問題点を修正方法を説明しています。また「welcart_basic」がどの様な構造になっているか?も併せて解説しています。

ここではwelcartの.検索機能制限の解除、カテゴリが製品か否かの判断関数、上位カテゴリの取得関数、.商品カテゴリの取得関数の作成方法を解説しています。

ここではWelcartで用意されている関数を解説しています。

Welcartのファンクションはfunctions.phpからincフォルダにあるファンクションをインクルードしています。この辺の構造を商品表示の設定例で解説しています。

Welcartのホームページと事前に作られている固有のページを解説してます。特にカートページやメンバーページ及びお問い合わせフォームの作り方も解説しています。

WelcartはWordPressの「固定ページ」と「投稿ページ」のみで作られております。この「投稿ページ」の中に「商品」が設定されています。そこで検索機能はファンクションの中で、商品のみを検索する様な設定が定義されている為、そのままではブログ等を検索できません。

ここではWelcartの商品画像を「slick」でスライドさせる方法を解説しています。スライド方法は下記の2つを解説しています。①.slickオプションだけでスライドさせる。②slickイベントやメソッドを使ってスライドさせる。

welcart_basicのカスタマイズ→ヘッダ画像で設定したヘッダ画像を「slick」で自動スライドさせる方法を解説しています。

「slick.js」はjqueryでスライド動作を指定するプラグインです。ここでは「slick.js」のインストールから、設定方法及び「slick.js」のオプションを解説しています。またslickのメソッドやイベントの使い方の説明しています。

ここでは「Welcart basic」の子テーマの作成方法を解説しています。

Welcartの商品画像適用ルールと「Media Library Assistant」による画像管理、及び商品画像の登録方法を解説しています。

Welcartで商品登録を行う前に.Welcart Shopの「基本設定」、「配送設定」及び「.商品カテゴリ」の登録が必要で、ここではその登録方法を解説しています。

ここではWelCartの商品の登録の仕方を解説しています。

WelcartはWordPressを使った無償のe-Commerceシステムです。ここでは「Welcart」の「インストール」と無償テンプレート「Welcart_basic」について解説します。

ここでは「Welcart_Basic」の「メニュ」や「ウィジェット」及び「ヘッダ画像」の使い方を解説します。