HOME  /Welcart
 /Welcartの投稿ページの構造と検索機能制限
2020年07月23日

Welcartの投稿ページの構造と検索機能制限

WelcartはWordPressの「固定ページ」と「投稿ページ」のみで作られております。

WordPressの「カスタム投稿機能」は利用していません。

この「投稿ページ」をカテゴリで「製品」と「ブログ」等に分けて管理する仕組みになっています。

1.投稿ページのカテゴリ構造と表示プログラム

投稿ページのカテゴリは下記の様になっています。

①Welcart商品カテゴリ

事前に登録されているカテゴリは下記です。

item:商品、itemreco:おすすめ商品、itemgenre:商品ジャンル、itemnew:新製品

ユーザの商品カテゴリは「itemgenre」の下に作成します。

②ブログカテゴリ

以前は「blog:ブログ」が設定されていましたが、現在は未設定です。

任意のブログカテゴリを設定して下さい。今後、これが利用できる様にカスタマイズしていきます。

③お知らせ

以前は「infomation:お知らせ」が設定されていましたが。現在は未設定です。

任意のお知らせカテゴリを設定して下さい。今後、これが利用できる様にカスタマイズしていきます。

 【参考情報】

投稿ページを表示するプログラムは下記になります
①商品  :welcart_basic¥wc_templates¥wc_item_single.php
②ブログ :welcart_basic¥single.php
③お知らせwelcart_basic¥single.php
「ブログ」と「お知らせ」は同一のプログラムの為にこれらは混在して表示されます。

よって、これをどうするか?がカスタマイズのポイントになります。
尚、上記プログラムをカスタマイズする場合は、フォルダも含めて子テーマにコピーしてからプログラムを修正します。

 

2.検索機能の構造

上記で説明した様にWelcartは「商品」と「ブログ」及び「お知らせ」が同じ「投稿ページ」で管理されているので、単純に検索するとこれらが混在します。
そこでWelcartの検索機能は、商品(item)カテゴリ以下にある商品だけを検索する仕様にしています。

この定義をしているのが「functions.php」に記述されている下記部分です。

2-1.「welcart_basic_query」で定義されている内容

/***********************************************************
* pre_get_posts
***********************************************************/
function welcart_basic_query( $query ) {
 $item_cat = get_category_by_slug('item');
 $item_cat_id = $item_cat->cat_ID;
 if ( is_admin() || ! $query->is_main_query() ) {
 return;
 }
 if ( $query->is_search && !isset($_GET['searchitem']) ) {
 $query->set('category_name','item');
 }
}
add_action( 'pre_get_posts', 'welcart_basic_query' );

上記のキーは赤字の所です。

記述されている意味は「search」の画面の所で且つ、検索ワードがNULLでない場合は、はカテゴリが「item」の物だけをqueryにセットしなさいという記述になります。

 

2-2.get_head_search_form()で定義されている内容

function get_head_search_form() {
	
    $form = '<form role="search" method="get" action="'.home_url( '/' ).'" >
		<div class="s-box">
			<input type="text" value="' . get_search_query() . '" name="s" id="head-s-text" class="search-text" />
			<input type="submit" id="head-s-submit" class="searchsubmit" value="&#xf002;" />
		</div>
    </form>';

	echo $form;
}

上記プログラムでは下図の様な検索ボックスを表示します。

2-3.上記設定がもたらす影響

ECサイトはブログで集客する方法が最良のSEO対策と言われています。

しかしwelcart_basic_queryが設定されている為にこれが実現できません。

そこでこれらをどう解決するか?は今後解説していきます。

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

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

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

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


<関連記事一覧>

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

ここではWelcart商品を価格順に並び替える方法を解説しています

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

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

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

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

ここではWelcart_basicのメニュのCSS制御の解説をしています。

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

ここではWelCart_Basicのカートの仕様がどうなっているか?を解説しています。

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

ここではwelcart_basicの会員システムがどの様な仕様になっているか?を解説しています。

ここではWelcart_basicの検索BOXがCSSでどの様に制御されているのか?を解説しています

welcart_basicは製品だけしか検索対象としていませんが、ここではページの情報を読み込んで、何を検索させるのかを自動で判断させる方法を解説しています。

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

ここではWelcartの検索機能制限の解除と商品か否かを判断する関数を作成する方法を解説しています。

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

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

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

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

ここではカスタマイズ→ヘッダ画像で設定したヘッダ画像を「slick」で自動スライドさせる方法を解説しています。スライドサンプルとしては画像サイズと画像サイズ+αで表示させるサンプルを解説しています。

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

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

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

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

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

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

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