最近、カスタム投稿を使う頻度が高くなっています。
例えば、お客さんで更新する情報が「キャンペーン」「商品」「新着」とあった場合、これまでは、『カテゴリ』でわけていました。
でも最近は、これらをカスタム投稿と投稿を使ってわけています。
今日はそのカスタム投稿でアイキャッチを使おうと思ったら表示されていなくて、ちょっと驚きまして。
カスタム投稿でアイキャッチを使う方法を調べてみました。
目次
アイキャッチを使う方法
利用するテーマによっては、最初からアイキャッチが使えるものもありますが、アイキャッチに対応していないテーマだったりした場合に、アイキャッチを使えるようにする方法です。
functions.phpに
add_theme_support('post-thumbnails');
と書くだけです。
これで投稿画面に行くと、アイキャッチが表示されるようになります。
もし出ていない場合は、右上の『表示オプション』をクリックして、表示する項目を確認してみて下さい。
カスタム投稿でアイキャッチを使う方法
上の記述をしていても、カスタム投稿ではアイキャッチが利用できませんでした。
どうやら、カスタム投稿の設定で、引数?「supports」に『アイキャッチ使えるように』って値を与えてあげないといけないらしい。
'supports' => array( 'title', 'editor', 'thumbnail')
これだと、タイトルと編集とアイキャッチ画像。という意味ですね。
例えば、『blog』というカスタム投稿タイプでアイキャッチを使えるように設定する場合、
add_action( 'init', 'blog_init' ); function blog_init() { $args = array( 'supports' => array( 'title', 'editor', 'thumbnail') ); register_post_type( 'blog', $args ); }
これでカスタム投稿でアイキャッチが使えるようになりました。
あと注意しないといけないのは、register_post_type()は’init’アクションから呼び出さないといけないということでしょうか。
カスタム投稿はプラグインか、functions.phpか
これまでカスタム投稿は、『Custom Post Type UI』プラグインを使っていました。
これについては『Custom Post Type UIの使い方[WordPress]』が非常にわかりやすいです。
WordPressの管理画面から、直感的にカスタム投稿を設定していくことができるので使いやすく、重宝しています。
ただ、今回のようにプラグインでも足りない部分も少なからずあったりします。
その機能を自作で補おうとすると、めちゃくちゃ大変でもう無理…となるくらいならプラグインに頼ってもいいんでしょうが、カスタム投稿はfunctions.phpに書いても動きますからね。
そう考えると、functions.phpに直接書くほうが、更新しやすくはないかもしれませんが、やりたいことを素直にやれるような気がします。
まとめ
結局のところ、カスタム投稿だけじゃなく、functions.phpに書く内容というのは、サイトが変わっても使える(使い回しできる)内容が多いと思うので、カスタム投稿もわざわざプラグインをいれて、都度設定するよりもfunctions.phpに書いてコピペしていくほうがいいのかもしれません。
最近はほんとfunctions.phpに書くことが多くなってるので、きちんと整理していかないと、functions.phpに何が書いてあるかが全くわからなくなりそうです…。
このグチャグチャなのは、部屋が汚いのと通づる物があるのかも…。
そいぎ~。