記事の詳細


「おしらせ」という分類のカスタム投稿を入れました。
前回もカスタム投稿で悩んだものです。
カテゴリーでもページでもない、独自の投稿をカスタム投稿といいます。
私くらいの小さな規模のサイトでは必要性は低くてカテゴリーで「お知らせ」を作った方が簡単です。サイドバーにも反映されますしね。
これからカテゴリーが増えてきて、ごっちゃになるのを見越して、単体で更新するなら分けちゃったほうがいいと思ったわけです。
前回はトップページを固定ページとして表示していたため、「お知らせ」はページとして作りました。(専用としてpage.phpを改造します)今回はトップページは常に最新の投稿が出る投稿タイプにしているため、archive.phpを改造しました。
これ、今書いていて気づいたことです。トップページが投稿タイプなのに、前回と同じ方法でpage.phpをいじっていてごっちゃになって1日かかりきりになりました・・・。

さて、手順です。
まずプラグインで Custom Post Type UI をインストールし、有効化します。
そうすると管理画面のサイドバーに

と、出現するはずです。一番下のCPT UIです。
新規にカスタム投稿を作っていきます。CPT UIをクリックし、入力していきます。

投稿タイプ名は後述のphpでも使うので英数字で。ラベルは日本語でも大丈夫です。
下に行き、Advanced Label Optionsをクリック。さらに下が開きます。
ここは管理画面で表示される項目です。大体、記入欄の左にある言葉で入力しました。ただ、カスタム投稿を増やしていくことを考えると、例:お知らせの新規追加 などラベル名を入れた方がわかりやすいですね。


いったんSave Custom Post Typeで保存し、先ほどのAdvanced Label Optionsの隣、Advanced Optionをクリックすると、上のような項目が開きます。ほとんどデフォルトでいいのですが、お知らせを一覧表示したいので、Has ArchiveをTrueにします。さらにカスタムリライトスラッグには、投稿タイプ名newsの単数形、newを入れました。(空欄でもいいのかもしれませんが、もしページ送り等動かなければいじってみてくださいね)


さらに下に行くとチェック項目があります。全部チェックされていると普通の投稿のような状態で投稿できます。私の場合はお知らせという一方通行なので、コメントとトラックバック、使わないのでカスタムフィールドも外しました。
で、Save Custom Post Typeで保存です。


管理画面のサイドバーに設定した投稿名が出ましたね。

次は専用の個別記事です。
特に作らなくても反映はします。けれどコメント欄やいいね!なんていうマークはなくてもいいですよね。そのためsingle.phpからコメントやフェイスブックなどを記述している箇所を消しました。そしてsingle-news.phpを作りました。そうすることでお知らせを投稿するときに、投稿タイプ名が入ったsingle-news.phpが一般投稿用のsingle.phpよりも優先して表示されます。


続いて、archive.phpの改造です。
別に作らなくても、archive-投稿タイプ名.php⇒archive.phpの順で反映させることができます。でも個別記事と同じようにいらない部分があるのでカットしました。

あとはパンくずリストです。
私はBreadcrumb NavXTというプラグインを使っています。
Breadcrumb NavXT設定画面のすぐ下、投稿タイプのタグをクリックし、ずーっと下にいくと

という項目があるので、図のようにチェックを入れるだけです。

最後に、お知らせ一覧のアーカイブページのurlを上部のナビゲーションに入れました。

・・・3日かかりました・・・。

関連記事

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

CAPTCHA


*

WordPressテーマ「AN (tcd014)」

アーカイブ

Twitter

ページ上部へ戻る