2015年07月13日

カスタム投稿タイプを追加 ~function.phpにコードを書け~


最近更新が飛び飛びです(´・ω・`)
つーのもWordpressの仕事が多いのはいいんですが、基本的に仕事が夜になるのです(´・ω・`)
昼は昼で仕事があるので中々…というわけで今日はお昼更新です。

さて、前回の日記でカスタム投稿タイプとカスタムタクソノミーの追加をやりました。
前回はプラグイン『Custom Post Type UI』を使いましたが、
今回はテーマのfunction.phpに直接コードを書き込む方法をご紹介します。

まずは、カスタム投稿タイプから。
テーマのfunction.phpに以下のコードを貼り付けてくださいまし。

こんな感じ。とりあえず今回はカスタム投稿タイプ『game』を作る前提です。
要注意なのが、supportsの部分。
ここに配列で『thumbnail』を指定してあげないと、アイキャッチ画像が使えないようです。
これ以上特に触れること無いんですよね…

ちなみに余談ですが、こちらのコードを加えると、
既存のタクソノミーを他のカスタム投稿タイプと共有出来ます。

こいつ。こいつをregister_post_typeの下あたりに入れてあげれば、
他の投稿タイプとカテゴリの共有が可能です。
ちなみに、既存のカテゴリょ既存の投稿と共有したい場合は、
タクソノミーの名前のところに『category』と入れてあげて下さい。

続きまして、カスタムタクソノミー『ゲームのジャンル』の追加。

こんな感じ。これもまぁそのまんますね(´・ω・`)
気をつけたいのか、$argのhierarchical。
詳しくは前回の日記を見ていただくとして、
ここをtrueにするとカテゴリ、falseにするとタグになります。

というわけで、カスタム投稿タイプの作成を2回にわたって行いました。

ちなみに、巷で『カスタム投稿タイプ』『カスタムタクソノミー』で検索すると、
プラグイン派とコード記入派の二通りがいらっしゃいます。

プラグイン派のメリットは『わかりやすさ』と『テーマを変更しても使えるところ』で、
コード記入派のメリットは『そのテーマを適応すれば、投稿タイプとタクソノミーが自動で追加される』
というところでしょうか。

面白がって遊ぶ分には特にどちらでも問題はないとは思いますが、
真面目に先のことを考えた場合、
『テーマを頻繁に変更する』という場合はプラグイン、
『使用しているテーマを配布する可能性がある』という場合はコード記入の方がいいかなぁと。

おれは元々あるテーマをカスタマイズしたものを使ってますし、
今後も今のところ変更する予定はないですが、
かといって配布する予定もないので、プラグインの方を使ってます。
その方がテーマ変更の際に融通が効くんですよね。
『あれッ?! カスタム投稿タイプが足りないッ!!ヽ(`Д´#)ノ』
『やっばまたコード書かなきゃ!!ヽ(`Д´#)ノ』
て事態にならないのはすごくいい。

逆に開発者の人なんかは、function.phpに書いたほうがいいんじゃね?と思います。
素晴らしいテーマを作れば、それ配布できますしね。
その時、テーマを適応しただけで、そのテーマ特有のカスタム投稿タイプとタクソノミーが適応されますし。

まぁそんなわけで、
どちらでもお好きな方をお使い下さいw


7 thoughts on “カスタム投稿タイプを追加 ~function.phpにコードを書け~

  1. xion

    こんばんは
    いつぞやはお世話になり助かりました。
    また教えていただきたいのですがよろしいでしょうか?

    レスポンシブではないページをレスポンシブにするのは可能でしょうか?
    例えばHTMLにviewportの記述をかいたり、CSSにメディアクエリを書いたりするようですが
    具体的にどのような記述をすればよいのでしょうか?
    長くなりますがもし必要であればCSS張り付けたりもできます。
    よろしくお願いいたします。

    Reply
    1. 管理人 Post author

      どもども。お久しぶりです。お元気でしょうか。

      ご質問の件ですが、せっかくなので記事にしてみました。
      よかったらそちらを一度見てみてくださいな。

      http://blog.k-kansei.com/?p=1659

      慣れてしまえばけっこう簡単なので、
      ぜひともチャレンジしてレスポンシブ化させてみて下さい!!

      Reply
  2. xion

    管理人さま

    早速記事にしていただいたのですね。
    ありがとうございます。

    【レスポンシブ化あれこれ】なども併せて読ませていただきました。
    例えばCSSの最後に追記するのではなくHTMLのタグの中に書いても問題ありませんか?
    いずれにしてもviewportとメディアクエリの記述はわかりました。
    あとはPC用のCSSとSP用のCSSを書き足せばよいのですね?

    細かい作業はひとつずつ検証しながらやっていくつもりですが
    考え方として上記で合っているかお尋ねします。

    Reply
    1. 管理人 Post author

      どうもです! よんでいただいてありがとうございます!!(・∀・)

      > 例えばCSSの最後に追記するのではなくHTMLのタグの中に書いても問題ありませんか?

      特に問題はないです。
      htmlファイルの中に記入してもmediaqueryもキチンと動くはずです。
      ただ、ものすごーく長くなるなら、素直にcssファイル内に書いたほうがイイような気もします。
      特に実害があるわけでもないんですけどね(;・∀・)

      PC用のmediaqueryは改めて準備する必要はないです。今記述されてるCSSをそのまま使えばOKです。
      だから、もし追記するのであれば、今のstyle.cssの最後尾に、
      mediaqueryの記述をして、その中にスマホ用のCSSを書いていけばいいかな。

      あとは、viewportの記述を忘れずに! 俺もよく忘れるんですわ(;・∀・)

      Reply
  3. xion

    >管理人さま

    ていねいな説明で私にもよくわかりました。
    ありがとうございます。

    管理人さまはその道のプロのようでなんでもご存知なのに驕った言い方はいっさいしないのが
    すごいです!!
    それどころか(わざと)とぼけて知らないような口ぶりで・・・
    きっと温厚な方だと拝察いたします。

    ミカンのジャムやキティちゃんのミシンなんて、タカピーで偉そうなおっさんは絶対
    しませんから(笑)

    では今夜もしこしこCSSを書きます。

    Reply
    1. 管理人 Post author

      いえいえこちらこそ励みになっております!(・∀・)

      一応これを生業にしてはいるのですが……ねぇ(;・∀・)
      自分用の備忘録的な部分も兼ねてるのですが、
      あまり肩肘張ったものが苦手なんです。
      たまにはみかんジャム作ったりして息抜きしたいんですよw

      それではCSSがんばってくださいっ!
      かなり奥深いので、ドツボにハマること請け合いです!!w

      Reply

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)