ホームページ制作アトリエ

心えがおホームページ制作 atelier(アトリエ)は、ホームページ・動画制作、教育ICT・アプリ開発、名刺・ポスター・チラシの作成を行っております。

プラグインなしでカスタム投稿を複数設置する

カテゴリー:custom
以前カスタム投稿で更新型コンテンツを作るという記事を書きましたが、カスタム投稿が複数必要となったので単純に同じ方法で作成しようとしたのですが・・・これがなんとダメだったんです。
で、色々調べて予想以上に苦戦し、時間がかかったので備忘録です。

まず、以下がこれまで使っていたプログラムです。 これを単純に複数作ればいいのかと思いきや、一応編集画面には異なった二つのカスタム投稿(ポスト)の項目が並んだものの、実際に投稿をしてみると・・・SORRY … Not found…X(
どうやら、カスタム投稿を複数作るにはこの方法の記述は使えないようです。
というわけで、以下のような記述にしてみました。 今回は、特集ページとニュースページのカスタム投稿をつくりました。
add_action関数のinitは、WordPressの読み込みが完了し、ヘッダーが送信される前に実行します。
$_GET や $_POST トリガーを妨害するために使えるアクション名です。

リライトルールを更新する

しかし困ったのがここから。何度見ても記述は間違っていないのにどういうわけか、このままでは404エラーになるのです。。。
それでさらに調べていると、こんな記事を発見!!
カスタム投稿タイプを表示したときに、原因不明の(rewrite 周りの)おかしな症状が出たのでメモ。
おおおおお!なるほどなるほど~!でした!!
つまり、空更新することで、wp_optionsテーブル内のrewrite_rulesが更新されて閲覧できるようになる、ということのようですね。
flush_rewrite_rules関数についてはこちらの記事を参考にさせていただきました。
※以前のように、パンくずリストや、オリジナル関数を使って表示させている箇所にも新しく作ったカスタム投稿の記述も忘れずに!