Welcartテンプレートの退避方法まとめ
スポンサーリンク
function.phpへの退避コードは必要ありません。
Welcartの商品詳細ページやカートページなどをカスタマイズしたい場合は、テンプレートをWelcartのプラグインフォルダから使用中のテーマフォルダにコピー・ペーストして、それを変更していく必要があります。
と言うのも、Welcartにアップグレードがあった場合はプラグインフォルダ内のテンプレートも上書きされてしまうためです。
しかし、テンプレートをコピー・ペーストしただけでは、まだ読み込んでくれません。自分のテーマからWelcartテンプレートを読み込ませるように、functions.phpに命令を記述する必要があります。
Welcart公式サイトのこちらのページにも、詳しく方法が載っていますのでご一読下さい。
1. カスタマイズしたいテンプレートを退避させる
まず、Welcartのプラグインファイルに入っているtemplatesフォルダから、必要なテンプレートをコピー。
使用中のテーマ内に設置したtemplatesフォルダ内に、コピーしたテンプレートを設置します。
この時、「cartフォルダ」や「memberフォルダ」に入っていたテンプレートは、コピー元のフォルダの場所と同じ形になるように、使用テーマ内の「templatesフォルダ」の中に、cart・memberという子フォルダも作って、その中にテンプレートを置きます。
2. テンプレートを読み込ませる命令をfunctions.phpに書く
次に、退避させたテンプレートを読み込ませるため、functions.phpに以下の例のように記述します。(以下例:メンバーページの場合)
//Welcart退避用パッチ add_action('init', 'my_welcart_template', 9); function my_welcart_template(){ add_filter('usces_template_path_member_form', 'my_template_path_member_form'); } function my_template_path_member_form( $path ){ $path = get_stylesheet_directory() . '/templates/member/member_form.php'; return $path; }
複数のテンプレートを退避させる場合は、同じコードを何回も書くのではなく、(1)3行目のfunction my_welcart_templateのカッコ{の中にadd_filterを追加していき、(2)更に6~9行目のようなfunction関数(テンプレートを自分のテーマから読み込ませる命令)を加えます。
例えば、4つのテンプレートを退避させた場合は、以下のようになります。
//Welcart退避用パッチ add_action('init', 'my_welcart_template', 9); function my_welcart_template(){ add_filter('usces_template_path_member_form', 'my_template_path_member_form'); add_filter('usces_template_path_member', 'my_template_path_member'); add_filter('usces_template_path_customer', 'my_template_path_customer'); add_filter('usces_template_path_delivery', 'my_template_path_delivery'); } function my_template_path_member_form( $path ){ $path = get_stylesheet_directory() . '/templates/member/member_form.php'; return $path; } function my_template_path_member( $path ){ $path = get_stylesheet_directory() . '/templates/member/member.php'; return $path; } function my_welcart_customer_path( $path ){ $path = get_stylesheet_directory() . '/templates/cart/customer_info.php'; return $path; } function my_template_path_delivery( $path ){ $path = get_stylesheet_directory() . '/templates/cart/delivery_info.php'; return $path; }
カスタマイズ出来るWelcartテンプレートと、フィルターの一覧
テンプレート | フィルター | |
---|---|---|
カートの中 | /cart/cart.php | usces_template_path_cart |
注文完了 | /cart/completion.php | usces_template_path_ordercompletion |
注文内容の確認 | /cart/confirm.php | usces_template_path_confirm |
お客様情報の入力 | /cart/customer_info.php | usces_template_path_customer |
配送・支払方法 | /cart/delivery_info.php | usces_template_path_delivery |
エラーページ | /cart/error.php | usces_template_path_carterror |
メンテナンスページ | /cart/maintenance.php | usces_template_path_maintenance |
パスワード変更 | /member/changepassword.php | usces_template_path_changepassword |
入会完了 | /member/completion.php | usces_template_path_membercompletion |
ログインページ | /member/login.php | usces_template_path_login |
パスワード再発行 | /member/lostpassword.php | usces_template_path_lostpassword |
会員ページ | /member/member.php | usces_template_path_member |
新規入会フォーム | /member/member_form.php | usces_template_path_member_form |
商品詳細ページ | /single_item.php | usces_template_path_single_item |
商品検索ページ | /search_item.php | usces_template_path_search_item |
その他のページ | /wp_search_item.php | usces_template_path_wp_search |