WordPressで投稿とは別の投稿メニューを作る方法【プラグインなしでカスタム投稿を作成】

WordPress でちょっと本格的なサイトを作ろうとしたとき、投稿とはまた別の投稿ラインを作りたくなる場面があるんですよね。

一般的な記事を投稿するのとは別に、サイトとしての「お知らせ」を表示させていきたいんだけど、そんな事ってできる?

くま五郎

リョウ

コピペで OK なほど、簡単にできるよ!

ということで、WordPress で通常の投稿とはまた別の投稿メニュー「カスタム投稿」の作り方を紹介しましょう!

カスタム投稿とは

さらっと「カスタム投稿の作り方を紹介しましょう!」なんて言っちゃいましたが、別の投稿ラインのことを「カスタム投稿」というちゃんとした呼び方があります。

カスタム投稿

まあ、お察しの通り「投稿」をカスタムしたものですね。

「カスタム投稿」を作るには、2通りあります。WordPress ならではの便利なプラグイン様を使うか、PHP をチラッと触る方法。

ただ、個人的には PHP をチラッと触る方をオススメします

その理由は、1つだけ。

無駄なプラグインを増やすくらいだったら、PHP にこれから紹介するコードをコピペした方が早いし簡単なので。

カスタム投稿を作る方法

基本的にはこれから紹介するコードをコピペして、変更が必要な文字だけを変えていただければ OK です

PHP
add_action( 'init', 'create_post_type' );
function create_post_type() {
  register_post_type( 'news',
    array(
      'label' => 'ニュース',
      'labels' => array(
      'all_items' => 'ニュース一覧'
      ),
      'public' => true,
      'has_archive' => true,
      'menu_position' => 5,
    )
  );
}

上記のコードを、functions.php の適切な場所に貼り付けてください。

細かいところの説明

register_post_type( ‘news’, という部分の news がいわゆる通常の投稿とは別の投稿ファイルになります。

そのため、「カスタム投稿」のアーカイブの場所が ○○.com/news/ ということになります。

もしお知らせ的な内容ではなく商品について投稿する場合には、news を products なんかに変えても大丈夫です。その時は、アーカイブの場所が ○○.com/products/ になりますけどね。

また、‘label’ => ‘ニュース’, にあるニュースの部分が管理画面のメニューに表示される文字。

‘all_items’ => ‘ニュース一覧’ は一覧表示を見る時のサブメニューの部分の文字になります。

そして、最後に ‘menu_position’ => 5, でメニューの順番を変えることができます。数字が大きくなるほど、どんどん下に表示されるようになっています。

複数のカスタム投稿を作る

上記のコードを活用することで、複数のカスタム投稿を作ることも可能です。

ただし、関数と投稿タイプは絶対に違う文字にすることが肝心です。

関数は、function create_post_type() { と書かれている行の create_post_type の部分。

そして投稿タイプは、register_post_type( ‘news’, の行の news の部分。

間違えると画面が真っ白になる可能性もあるので、慎重に作業をしてくださいね。まあ、真っ白になったらサーバー側から作業した方が安心ですかね。

カスタム投稿を作った時の注意

カスタム投稿を作ること自体は簡単なのですが、1点だけ注意があります。

カスタム投稿を作ってからすぐに記事を投稿すると、「ページがありません」と表示されてしまう場合があります。

念の為ですが、カスタム投稿を作ったら「設定」>「パーマリンク設定」を開き、「変更を保存」を押しておいてください。

カスタム投稿

すると解消されるはずなので、カスタム投稿から記事を投稿する前にチラッと「パーマリンク設定」で「変更を保存」を押しておいてください

さいごに

ミュージシャンとかだと個人的な内容のブログとは別に、曲やライブの新着情報を別のラインとして管理したいことがありますからね。そんな時には、カスタム投稿を使うと便利です。

本格的っぽいサイトをちょっと作りたい場合には、ぜひカスタム投稿を活用してみてくだいね。