カスタム投稿タイプの作成方法(プラグイン使わず)

  • このエントリーをはてなブックマークに追加

カスタム投稿タイプの作成は、CPT UIなどのプラグインでもできますが、functions.phpに記述することでプラグインを使わずに作成することも可能です。

タームやタクソノミーといった概念を理解すれば、それほど難しくないかもしれません。

functions.phpでカスタム投稿タイプを新規作成

capability_typeなど権限設定についてはモンキーレンチさんのこちらの記事でまとめていただいていました。

その他詳細はcodexを確認

公開した記事がトップページにリダイレクトされる場合

プレビューでは記事を表示できるのに、公開して記事にアクセスすると、トップページにリダイレクトされてしまいます。

「設定」>「パーマリンク設定」で保存を押すと、正常にアクセスできるようになる。リライトルールの設定の問題かもしれません。

タームとタクソノミーの設定(カスタム分類)

カスタムタクソノミーのURL(パーマリンク)のコントロール

デフォルトのURL

タクソノミーの一覧ページのURLはデフォルトでこのようになっています。

officetnk.com/{投稿タイプ名}/{タクソノミー名}
officetnk.com/{post_type}/{taxonomy_name}

例えばnews投稿タイプで登録したタクソノミー名が news_category でも、URLでは category にしたい時があります。そういう時はrewriteを設定します。

/{投稿タイプ名}/{タクソノミー名と異なるスラッグ}/

officetnk.com/{投稿タイプ名}/{タクソノミー名と異なるスラッグ}
officetnk.com/{post_type}/{specific_taxonomy_name}

例えば、officetnk.com/news/category とする場合。既に上に埋め込んだgistのコードではそうなっているのですが、 ‘rewrite’ => array(‘slug’ => ‘category’) とすると実現可能です。

その他詳細は関数リファレンス/register taxonomy – WordPress Codex 日本語版を確認。

SNSでもご購読できます。

コメントを残す