WooCommerceに機能を付加するプラグインを作りたい
WordPressでECサイトを作りたいと思っています。
しかしブログ用のCMSであるWordpressでECサイトを構築するにはプラグインの力を借りないといけません。
それで、一番有名なWordpress用のECサイト用プラグインが「WooCommerce」ですので、それを使いたいと思いました。
他にもたくさんのプラグインがあるのですが、有料であったり、日本語限定のプラグインであったりとイマイチ私のニーズに合いません。
かつてはECCUBEでECサイトをいくつか組んだことがありますが、SEOや商品以外の記事を追加したりすることを考えるとWordpressがいいなぁと思います。
結局、王道中の王道を使っていかないと、いつかは廃れていってしまうので、ブログCMSはWordPressで、ECはWooCommerceにしておけば、しばらくは安泰という保守性を優先しようと思いました。
しかし、WooCommerceの機能は最低限のもので、自分のニーズに合うにはかなりカスタマイズしないといけません。
特にいただけないのが、同一商品内にサイズやデザイン違いがあった場合、それに伴って料金が変わる場合に対応できない点です。
Sサイズの商品とLサイズの商品で値段が違う場合には、別のページにて登録しなおさなければなりません。
ECCUBEの場合は「規格」というステータスがあり、例えサイズとカラーといった具合に2つの規格まで商品の種類を登録でき、組み合わせで値段が変わる様にすることができました。
WooCommerceでは1商品が1ブログ記事と対応しているため、このような複雑な値段や種類の設定はできません。
それで、これを解決すべくカスタマイズをしたいと思います。
しかし、保守性を考えると、WooCommerce自体のソースをいじってカスタマイズするのは怖いですね。
常に最新のバージョンにアップデートしないと脆弱性が解決されない場合があります。
ですからWooCommerceというプラグインに機能を付加する、別のプラグインを作る必要があります。
しかし、私はWordpressのプラグインなんて作ったことありません。
一体どうすりゃいいの?
とりあえず簡単なプラグインを作ってみる
プログラミングは新しいことをする時はいつでも、まず「Hello World!」からというのが定番です。
ということで、文字を表示するだけのような簡単なプラグインを作り、そこからだんだん機能を追加していこうと思います。
最初から難しいことはできないよね。
それでテストで構築したWordpressのサイトにプラグインを自作し、追加することにします。
プラグインを追加するには、Wordpressのプラグインフォルダにファイルを設置します。
/wp-content/plugins
ここにプラグインのフォルダを設置し、中にファイルを置きます。
名前は一意の名前にしなければならないそうなので、とりあえずフォルダ名はtest00001、phpファイル名はtest00001.phpとしておきました。
まず一番簡単な文字を表示させるプラグインを作るということで、以下のソースコードをphpファイルに書き込みます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<?php /* Plugin Name: Test00001 Plugin URI: http://tashumi.link/ Description: テストプラグイン Author: Jorge Version: 0.1 Author URI: http://tashumi.link/ */ function test00001() { echo 'テストです'; } ?> |
このphpファイルをアップすると、Wordpressのプラグイン一覧に新しいプラグインとしてインストールされます。
phpファイルの頭にコメントアウトで記述した名前や作成者も表示されますね。
ちなみに文字コードをUTF-8にしていないと、ここで日本語の文字化けが起こりますので注意してください。
そして、「テーマの編集」から個別投稿 (single.php)の適当な場所に以下のコードを貼り付け、プラグインの関数を呼び出します。
1 |
<?php test00001(); ?> |
すると、ブログの投稿のページに「テストです」の文字が表示されるようになります。
ということで、簡単な文字を表示するプラグインは作ることができました。
プラグインフォルダに新しいフォルダとPHPファイルを置けば、とりあえず作れるというのは簡単ですね。