Slide 1

Slide 1 text

実践に見るカスタマイズの手法 カスタマイズのポイントとコルネのルール 2019年10月25日

Slide 2

Slide 2 text

HELLO! 吉村 佳志子 Yoshimura Yoshiko コルネ株式会社 システム開発部 チーフプログラマー 2

Slide 3

Slide 3 text

今回のセッションで使用しているサイト 健康食品サイト「Sport」 健康食品サイトを想定して、定期購入販売のカスタマイ ズを紹介します。 https://sandbox.welcart.org/autodelivery/ この Sport サイトで使用している子テーマがダウンロード できます。 https://www.collne.com/dl/10th/welcart_panetteria-sport.zip 会員制情報サイト 「News」 会員の状態によって記事の閲覧を制御。自動継続課金 (サブスクリプション)サイトの例です。 https://sandbox.welcart.org/news/ この News サイトで使用している子テーマがダウンロー ドできます。 https://www.collne.com/dl/10th/welcart_panetteria-wcnews.zip このスライドは公開しています。 http://bit.ly/2OJy2JS https://docs.google.com/presentation/d/1rgauuievKD5KFc9twE27NAqdlcS_ri-hm9_Xi52K5sk/edit?usp=sharing 3

Slide 4

Slide 4 text

1. 二通りの機能実装方法 実情に応じたカスタマイズの設置方法 4

Slide 5

Slide 5 text

プラグインとして開発 プラグインにするかテーマに施行するか テーマに設置 5

Slide 6

Slide 6 text

プラグインを作成する方法 ▹ 複数のサイトに同じ機能を実装したい場合 修正はオリジナルプラグインのみ ▹ カスタマイズ規模が大きい場合 それ単体でのバージョン管理ができるよう ▹ テーマ編集者の作業から分離させたい場合 テーマ編集者とのコンフリクトを避ける 6

Slide 7

Slide 7 text

テーマに機能を施工する方法 ▹ カスタマイズ規模が小さい場合 ごく簡単なカスタマイズ ▹ テンプレートに依存する場合 テンプレートに記述が必要 7

Slide 8

Slide 8 text

2. カスタマイズの実際 テーマへの実装方法 8

Slide 9

Slide 9 text

functions.php にはコードがいっぱい コードの設置方法 9

Slide 10

Slide 10 text

functions.php にカスタマイズを書く問題点 ▹ テーマ制作者のコードと見分けがつき難くなる ▹ functions.php が肥大化して管理し辛くなる ▹ クライアントとの同時作業など複数人での作業では、古いバージョンのファイ ルをかぶせてしまう危険性が高くなる 10 メンテナンス性の低下

Slide 11

Slide 11 text

ファイルが上書きされてしまう事故を防ぐとともに、 メンテナンス性を考慮する。 別ファイルに分けてインクルード 11

Slide 12

Slide 12 text

3. メンテナンス性を重視 ファイルの分割 12

Slide 13

Slide 13 text

カスタマイズ用のファイルを置くフォルダを作っ て、functions.php にインクルードする。 カスタマイズ用のフォルダを置く 13

Slide 14

Slide 14 text

カスタマイズファイルはジャンルごとに細かく分けて、内 容が分かりやすいファイル名を付ける。 これらのファイルは _loader.php でインクルードする。 これによって、functions.php には下記の1行のみで、 全てのカスタマイズファイルのインクルードができる。 ファイルを細かく分ける 14 customizeフォルダの中

Slide 15

Slide 15 text

_loader.php にまとめてインクルード 15

Slide 16

Slide 16 text

ファイル名とカスタマイズ内容 ▹ _loader.php このフォルダ内のファイルを読み込む ▹ add-posttype.php ニュース記事用の投稿タイプを設定 ▹ cart_control.php 同じサブスクリプションを購入しないよう制御 ▹ enqueue_scripts.php 会員登録時のバリデーションを、分かり易く表示するための JavaScript ▹ login_control.php ログイン後に、最後に見ていた記事にリダイレクトさせる ▹ shortcode.php 記事内のボタン表示制御を行うショートコードを作成 ▹ template-functions.php テンプレート内で使用するテンプレートタグを宣言 16

Slide 17

Slide 17 text

メンテナンス性を考慮したテーマカスタマイズ 17 functions.php に 書かない ファイルを分け、 意味のあるファイル名を付ける カスタマイズ用の フォルダを作る 細かくコメントを 入れる クライアントに 編集させない

Slide 18

Slide 18 text

Welcart のカスタマイズに関する資料 DOCUMENTS Welcart に関するガイドや FAQ の入り口はこちらで す。 https://www.welcart.com/documents/ また、テクニカルノートは旬な情報を追加してお知 らせしています。 https://www.welcart.com/archives/techinfo/ CUSTOMIZE SUPPORT カスタマイズやサイト構築を行っていて原因不明の不具 合が発生した場合は、調査を依頼できます。 https://www.welcart.com/wc_nav/ カスタマイズ自体を依頼することも可能です。 https://www.welcart.com/service-welcustom/ このスライドは公開しています。 http://bit.ly/2OJy2JS https://docs.google.com/presentation/d/1rgauuievKD5KFc9twE27NAqdlcS_ri-hm9_Xi52K5sk/edit?usp=sharing 18