WordPressのカスタム投稿タイプをfunctions.phpからプラグインに移行した
以前、別に運営しているWordPressを用いたサイトでカスタム投稿タイプを実装しました。
その際勉強したかった事もあって、自作テーマのfunctions.phpにコードを書いて実装しました。
こんな感じ。大体Codexに載っているものそのままだった気がします。
functions.php
実際動いていた(動作確認: WordPress 4.3.1)のですが、先日開催されたWordCamp Kansai 2015で、Plugin Territoryの話をチラッと聞いて( ゚д゚)ハッ!となったわけです。
Plugin Territory
プラグインテリトリーと言うのは、テーマに依存せずそのサイトの設定になるような項目
参考:
WordPressのテーマを作る時に気をつけている事 | Cntlog
Plugin Territory – WordPressのその処理はテーマでやるべきかプラグインでやるべきか? | Firegoby
Analyticsとかカスタム投稿タイプとかテーマ変えて消えたら困る機能とかはプラグインで本体側に実装しろよみたいな話?
ちょくちょくプラグインで導入しましたって人見かけて、え~コードで実装出来んじゃんって思ってたけどこういうことだったの…。
今回扱ってるサイトも過去に1, 2度テーマを変えた事が有ったんですけど、そろそろまた変えるんじゃないかなーと思い、今回のプラグイン導入に至りました。消えると怖いし。
Custom Post Type UIの導入
とりあえずググったら出たし、更新もわりと最近だったのでコレを導入しました。
WordPress › Custom Post Type UI « WordPress Plugins
いつもどおり、管理画面のプラグインの所から検索してインストール、有効化です。
するとサイドバー下に項目が現れるので、そこから add/edit Post Types を選択して早速カスタム投稿タイプを作ります。
上で書いたコードを元にこんな感じで入力しました。
他にも右の項目で例えば以下のことなんかも設定できるようです。
- サイドバーでの表示(label)
- メニューの位置
- カスタム投稿タイプでサポートするもの
- エディター
- サムネイル
- カスタムフィールド
- etc.
あとはSave Pot Typeをクリックするだけ。
カスタム投稿タイプの表示
表示するためのコードは以前使っていたものから変更の必要はありませんでした。
今回編集したサイトでは少し変わった出力を行っていたので、分かりやすいCodexのものを拝借しました。
投稿タイプ – WordPress Codex 日本語版
まとめ
Custom Post Type UIを導入するだけで簡単にカスタム投稿タイプが実装できました。
実装も早いしこっちでやっちゃう方が良いのかなー