読者です 読者をやめる 読者になる 読者になる

ぬじろぐ

メモです。議論やコメントは受け付けておりません。当方オタクの女ですので、唐突に腐ったりします。注意。

カスタム投稿でギャラリーのページを作る

カスタム投稿でイラスト投稿と音楽投稿を作ったので、一連の作業についてメモ。

カスタム投稿タイプを作るまとめ:参考
http://www.weblogy.co.jp/wptech/entry-81/

カスタム投稿の追加

function.phpを編集

参照先のコードをコピペして、各所の名前を変えるだけでとりあえず追加できる。
名前は以下のようにしました。

  • music_works //カスタム投稿名
  • music_works-cat //カテゴリ
  • music_tag // タグ

アーカイブをオンにしているので、表示用のページを作らなくてもアーカイブが生成されているはず。
httm://アドレス〜/archive/music_works

専用テンプレートを用意しない場合は、通常post用のテンプレートが使われる模様。
カテゴリやタグはテンプレートをいじらないと表示されないことに注意。

function.phpに書いた内容をまるごと別ファイルに保存して、適当な名前をつけてプラグインフォルダに放り込めばプラグインとして動作する。
今回は、テーマを変えてもカスタム投稿が使えるようにプラグイン化。

テンプレートを作成

必要になるテンプレートは以下の通り。
カテゴリ&タグを使わないならtaxonomy-xxxxは不要。

  • archive-music_works.php //アーカイブ
  • taxonomy-music_works-cat.php //カテゴリ用
  • taxonomy-music_tag.php //タグ用

最低限、タイトル、カテゴリー、タグの表示部分だけ直す。

<?php the_category(','); ?> //カテゴリを表示
<?php the_tags('',', '); ?> //タグを表示

これは使えないので、get_term等のタクソノミー名を指定して表示するタイプに変更。

<?php echo get_the_term_list($post->ID,'music_works-cat'); ?> //カテゴリを表示
<?php echo get_the_term_list($post->ID,'music-tag','',',',''); ?> //タグを表示

タイトル、サイドバーのカテゴリリスト、タグクラウドの表示も同様に変更。

カスタム投稿タイプってテーマ依存なんですね。
つまり、カスタム投稿付きのテーマを使っていて、ある日別のテンプレートに変えるとカスタム投稿で書いた記事のメニューが編集画面から消えてしまう、と。今私が使っているadaptなんかはモロにこれ。
テンプレートを変えるたびにコードを編集するのは面倒だなあ。
ということでプラグイン化してしまうことに。これは意外に簡単でびっくりした。

って、カスタム投稿タイプ1つ追加するのにすごく悩んでたけど、もしかしてプラグインとして配布されてるもののパラメータとファイル名をちょっと書き直してフォルダにアップすれば良いだけだったのでは。

あとは、イラスト用にアーカイブページ用のテンプレートを…こちらはテーマ付属のポートフォリオを流用して、ちょっと出力タグをいじっただけ。
ソート用のjqueryがついていたので、せっかくだから使いたくて…
でも、ソート用のタグをwordpress側で出力するのは難しいので、テンプレートに直接書いてしまうことに。
どうせイラストの投稿カテゴリは「オリジナル」と「ファンアート」の2つしか使わないしね。

ところで、そのadaptテンプレートの配布サイトががらっと変わってしまって前に配布されていたv2.01がなくなってる(v2.0に戻ってる…?)んですが、一体何事…更新履歴見たらちゃんとv2.01の履歴はあるしなあ。