Welcartは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(商品)だけを検索する様にWordPressの仕様を変更しています。
これを定義をしているのが「functions.php」に記述されている下記の部分です。
1.itemに限定する設定
/*********************************************************** * 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.検索フォームの設定
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="" /> </div> </form>'; echo $form; }
上記プログラムでは下図の様な検索ボックスを表示します。
3.上記設定がもたらす影響
ECサイトはブログで集客する方法が最良のSEO対策と言われています。
しかしwelcart_basic_queryが設定されている為にこれが実現できません。
そこでこれらをどう解決するか?は今後解説していきます。