カスタム投稿タイプのススメ

WordPressをもっとビジネスに活かす

他のブログでも、散々説明されているので、今更ですが、、、改めて説明します。

WordPressの魅力

WordPress5.0がリリースされ、しばらく経つと、もしかしたら「使いやすい」と評判が上がり、WordPressの魅力は「無料」「使いやすい」となるかもしれません。

しかしながら、世界中で利用されている最大の理由は「拡張性」です。

社内に、少しだけコーディング(PHP、HTML、CSS、CSS Framework)できる人がいれば、ビジネスに必要な機能を追加することができます。

プラグインを拡張する

例えば、イベント予約システムを自分で作るのはナンセンス(大変だし、有料、無料の良いプラグインがある)ですが、イベント予約システムの「かゆいところ」を、修正することが、WordPress、オープンソースだからこそ可能です。

またWordPressのプラグインの多くは、「かゆいところを、自分でかける」ように、フック(フィルターフック、アクションフック)という仕組みが用意されています。

WooCommerceで「氏名を入力させたい」場合、数行のプログラムを追加するだけでOKです。

テーマを拡張する

同様に、「子テーマ」が便利です。メインのテーマには変更を加えず、「痒いところ」だけを、ボリボリとかくように、変更が可能です。ここでも、少しだけコードが使えると、できる幅が広がります。

例えば、WooCommerceの自動返信メールを修正したいなら、子テーマを使います。

投稿タイプを拡張する

プラグインの改良、テーマの拡張以上に便利に感じるのが「投稿タイプ」を追加することや、投稿に「追加の属性(情報)」を用意することです。

これが、思いの外便利です。


投稿タイプの拡張例

例えば、toiee.jp の利用者から、「講座資料を簡単に探してダウンロードしたい!」という要望がありました。

そこで講座資料を「ブログの投稿」で用意するか、ページで用意するか?を考えました。資料に必要なものは、

また、資料一覧を「1ページ」で表示して、そこで欲しい資料をクリックすると、詳細なページを表示したいと考えました。また、全てのページは「ちゃんと統一された状態」を実現したいと考えました。

(ここにモックアップ)

こう考えると、ブログ投稿、ページでは収まりきりません。書き込み用の雛形を用意して、それをコピペするという「紙とペン」みたいな使い方はしたくありません(後で変更が必要、学習コストがかかる、無駄が発生)。

このような場合に活躍するのが「カスタム・ポスト・タイプ」です。

カスタム投稿タイプとは?

WordPressでは、ブログ記事(post)も、固定ページ(page)も、「投稿の一種」として扱われています。他にも、WooCommerceというショッピングカートプラグインをインストールすれば、product という投稿の種類が追加されます。あるいは、EventManager というプラグインをインストールすると、 event という投稿の種類が追加されます。

上記では、page, attachment, post が表示されいてる。メニューなども、postの一種として登録されている

様々なプラグインが「独自の投稿の種類=投稿タイプ」を作って、それを利用して、便利な機能を提供しています。

WordPressは「カスタム投稿タイプ」を簡単に追加できるようになっています。そして、ルールが整備されているので、ルールを理解すれば、

と、Webページを表示させることができます。


カスタマイズのために必要なもの

知識

必要な知識は以下です。

見た目を実現するには、HTML/CSS を書く必要があります。また、レスポンシブに対応させよう、高度な表示をしたいなどの場合(そうでなくても)、CSS Framework を使うべきです(楽をして、成果を最大にするために)。

WordPressの投稿の仕組みは、データベースを覗くアプリ(Local by Flywheelを使うと良いです)を使って、探求しつつ、WordPressのドキュメントなどを読むと理解できます。

テンプレートの名前のルールも、ドキュメントがあります。必要な知識は、大抵の場合、 wordpress.org にあります。

道具

次に道具を紹介します。

自分でPHPコードを書いても良いですが、ミスが増えますし、覚えることを増やしてしまいます。「良いプログラマーは、コードをなるべく書かない。良い仕事をする他人を信頼する」という原則があります。

そこで、WordPressのコアに関わって、長年開発を続け、大勢の人からフィードバックを受け、チームで開発している便利なプラグインを利用します。

色々使ってお勧めは

の2つを使うことです。この2つをセットで使って「独自プラグイン化」して、カスタム投稿タイプを作ることです。

それぞれ、マウス操作で設定をすると、「PHPコード」を取得できます。このPHPコードを、WordPressの独自プラグインとして追加することで、

させやすくなります。

その他、役立ちそうな情報

wp-cliで、”wp scaffold”

WordPressをコマンドで操作するためのものです。この機能で「プラグインの雛形」を生成できます。ルールを覚えなくて良いので、ささっと使えます。またシンプルで、WordPressがお勧めする作り方にそうので、利用するのが良いと思います。

また、子テーマの生成もできるので、利用すべきでしょう。

Github

開発したプラグインの変更履歴や、改善アイデアなどを残すために使います。絶対に使ったほうがいいです。

WP Pusher

Githubに更新をアップデートしたら、本番サイトに反映してくれるプラグインです。これを使うと、手動でFTPするなどがなくなるので、手間が減って、ミスが減ります。


以上を使うと、

  1. Custom Post Type UI(CPT UI), Advaced Cusutom Fields(ACF)で投稿タイプを定義
  2. コードを取得する
  3. wp scaffold を使ってプラグインの雛形を作る
  4. ここに2のコードを埋め込む
  5. テンプレートを用意する
  6. Github で管理し、Github経由でアップデートがされるようにする

と準備すると、

  1. 開発用WordPressで作る、試す、テストする
  2. Githubに公開(すると、自動的に本番サイトで使えるようになる)
  3. 本番サイトでデータ入力したり、ナビを調整する

とシンプルになります。

参考になれば。