Welcart 1.0 アップグレードの注意点
Welcart 1.0 リリースの前に、今回のアップグレードにおいて気を付けなくてはいけない点をお知らせしたいと思います。
- 設定・登録データの互換性
- デザインの互換性
- 退避テンプレートの対処
- wc_templates への入れ替え
- functions.php の修正
- Welcart 拡張プラグインWCEX の互換性について
- Welcart 専用テーマについて
設定・登録データの互換性
Welcart の管理設定データは、特にv0.7 からの互換性には配慮いたしました。それ以前のバージョンではやってみないとわからない部分があります。実際にv0.1 で稼動中のショップを一気にv1.0 にアップグレードしてみたところ、配送設定が受け継がれなく設定しなおしとなりました。またそれに伴い、全商品を更新(変更せず更新)しなくてはいけませんでした。
商品の登録データや受注の記録などは問題ありません。
デザインの互換性
プログラム本体をカスタマイズしていない限り、ご利用中のテーマは、多少スタイルの修正が必要かもしれませんがほぼ問題なく利用できます。
退避テンプレートの対処
Welcart のtemplates を退避させている場合は、これも本体のカスタマイズに当たりますので対策が必要になります。
特に次のファイルを退避させている場合は修正が必須となります。
- delivery_info.php
- confirm.php
いずれのファイルもinput タグのname を変更します。
【修正前】
<input name="order[*******
【修正後】
<input name="offer[*******
name=”order[ で上記のファイル内を検索すると、delivery_info.php で2箇所、confirm.php で1箇所ヒットしますので、必ず修正してください。
以下に、v0.9 から変更があったtemplates ファイルの、変更箇所の修正ログを記しておきます。
ただ、今後の事を考えると、退避ファイルを修正するよりも新しいテンプレート「wc_templates」を使ってテンプレートを作り直すことをお勧めします。
- usc-e-shop/branches/future/templates/single_item.php (6 diffs)
- usc-e-shop/branches/future/templates/member/member_form.php (4 diffs)
- usc-e-shop/branches/future/templates/member/member.php (7 diffs)
- usc-e-shop/branches/future/templates/cart/cart.php (5 diffs)
- usc-e-shop/branches/future/templates/cart/completion.php (3 diffs)
- usc-e-shop/branches/future/templates/cart/customer_info.php (2 diffs)
- usc-e-shop/branches/future/templates/cart/confirm.php (10 diffs)
- usc-e-shop/branches/future/templates/cart/delivery_info.php (5 diffs)
wc_templates への入れ替え
Welcart 1.0 にバンドルされている最新のデフォルトテーマ「Welcart Default テーマ1.1」には、wc_templates というフォルダが入っています。このテンプレートに関しては「ECサイト専用テンプレート「Welcart Default テーマ」の新機能」をご覧ください。
既存のテーマに、上記templates ファイルを退避させていない方は、このwc_templates をテーマ内に設置する必要はありません。しかし、新規でサイトを制作する場合は、wc_templates の全ファイルをテーマに設置してショップを構築していく事をお勧めします。
さて、前にtemplates ファイルを退避させている場合は、一層の事、退避ファイルを修正するよりも新しいテンプレート「wc_templates」を使ってテンプレートを作り直すことをお勧めしますと書きました。このwc_templates は、従来のtemplates ファイルとは異なり、できるだけテンプレートタグでラッピングして、将来のアップグレードの影響ができるだけ少なくなるよう配慮しています。また、通常のWordPress のテンプレートと同じ仕様で作られていますので使いやすいのではないかと思います。
では、退避したファイルをwc_templates に入れ替える方法について簡単にご説明します。
wc_templates はテンプレート・ファイル群になっていますが、全てのファイルを設置する必要は有りません。レイアウトを変更したいテンプレートのみを設置してカスタマイズできます。ですので、商品詳細ページ(single_item.php)のみを退避させている場合は、wc_templates/wc_item_single.php のみを設置すれば良いことになります。
フォルダ構成は変えてはいけません。カートページの場合は、wc_templates/cart/wc_cart_page.php となり、このフォルダ構成のまま利用中のテーマフォルダに設置します。
【対応表】
従来のtemplates | wc_templates |
---|---|
cart.php | wc_cart_page.php |
completion.php | wc_completion_page.php |
confirm.php | wc_confirm_page.php |
customer_info.php | wc_customer_page.php |
delivery_info.php | wc_delivery_page.php |
error.php | wc_cart_error_page.php |
changepassword.php | wc_changepassword_page.php |
completion.php | wc_member_completion_page.php |
login.php | wc_login_page.php |
lostpassword.php | wc_lostpassword_page.php |
member.php | wc_member_page.php |
member_form.php | wc_new_member_page.php |
search_item.php | wc_search_page.php |
single_item.php | wc_item_single.php |
wc_templates のテンプレートはWelcart Default テーマのためのタグ構成になっています。既存のテーマに合せてマークアップの修正が必要となると思います。またget_sidebar() の位置にも気をつけてください。
functions.php の修正
最新のWelcart Default テーマのfunctions.php には、WordPress のウィジェットを制御するコードが追加されました。下記のコードは、カテゴリー・ウィジェット、サーチ・ウィジェット、タグクラウド・ウィジェットにおいて商品を除外するためのものです。必要な場合は、現在のfunctions.php に追記してください。
/*********************************************************** * widget ***********************************************************/ add_filter('widget_categories_dropdown_args', 'welcart_categories_dropdown_args'); function welcart_categories_dropdown_args( $args ){ global $usces; $ids = $usces->get_item_cat_ids(); $ids[] = USCES_ITEM_CAT_PARENT_ID; $args['exclude'] = $ids; return $args; } add_filter('getarchives_where', 'welcart_getarchives_where'); function welcart_getarchives_where( $r ){ $where = "WHERE post_type = 'post' AND post_status = 'publish' AND post_mime_type <> 'item' "; return $where; } add_filter('widget_tag_cloud_args', 'welcart_tag_cloud_args'); function welcart_tag_cloud_args( $args ){ global $usces; if( 'category' == $args['taxonomy']){ $ids = $usces->get_item_cat_ids(); $ids[] = USCES_ITEM_CAT_PARENT_ID; $args['exclude'] = $ids; }else if( 'post_tag' == $args['taxonomy']){ $ids = $usces->get_item_post_ids(); $tobs = wp_get_object_terms($ids, 'post_tag'); foreach( $tobs as $ob ){ $tids[] = $ob->term_id; } $args['exclude'] = $tids; } return $args; }
また、functions.php の冒頭に次の1行があるか確認して、無い場合は必ず追加してください。必ず最初に置くようにしてください。
if(!defined('USCES_VERSION')) return;
Welcart 拡張プラグインWCEX の互換性について
現在「Welcart Home」で販売しています拡張プラグインは、「DLSeller」を除いてWelcart 1.0 でもご利用いただけます。唯一「DLSeller」は互換性がなくなってしまいました。 DLSeller をご利用の方はDLSeller2.0 が公開されるまで、Welcart1.0 へのアップグレードは行なわないようお願いします。ほぼ間違いなく動作しなくなります。
現在、DLSeller は物販の同時運営と継続課金管理機能の強化を行なっております。DLSeller2.0 については改めてここでお知らせいたしますのでしばらくお待ちください。
利用できるバージョン対応は次のようになります。
- Welcart1.0 & DLSeller2.0
- Welcart0.x & DLSeller1.x
Welcart 専用テーマについて
現在「Welcart Home」で販売していますWelcart 専用テーマは、Welcart 1.0 リリースと同時に対応版をリリースします。wc_templates だけではなく新機能も追加されて、TwentyTen と同じように親テーマとして利用する事ができます。既にテーマが完成している方も再ダウンロードが可能ですので参考にしてみてください。
間もなく、Welcart1.0 がリリースされます。今しばらくお待ちください。