カスタム投稿タイプ Custom Post type UI

投稿タイプとは
投稿は「post」、固定ページは「page」という投稿タイプに分けられている。
それらがwordpressのデータベースの同じ場所に保存されていて、「post」の投稿タイプが呼び出された時に、データベースより、「post」が呼び出される。
例えば同じサイト上で「ニュース」「ブログ」というページを運用しようとした場合、二つの投稿タイプを独自に作成したほうが、デザインや管理の面で都合が良い。
 
ラベル 投稿タイプ
投稿ページ post
固定ページ page
添付ファイル attachment
リビジョン revision
ナビゲーション navmenuitem
 

基本の投稿タイプはこれだけある。

 

スポンサードリンク

Custom Post type UI
Custom Post type UIをインストールして「投稿タイプを追加/編
投稿タイプスラッグ「news」
複数形のラベル、単数系のラベルを「ニュース」としました。
追加ラベルに「全てのニュース」と入力。これをしておかないと「allニュース」とかいう塩梅になってしまう。別に気にしない人はそのままでもいいんだけどね。
下の方のチェックはこのとうりにしておきました。普通の「post」投稿タイプと共通にしたい部分ですね。
 
投稿
作成すると左メニューに「ニュース」という項目が現れます。
そこから「新規追加」してみましょう。普段やっているpostと同様なので迷うことはないはずです。
このとき注意したいのは任意な英数字でスラッグ部分に名前をつけてあげることです。
 
 
「投稿」を押しましょう。しかし実際のページには反映されていないはずです。
それはテンプレートがないからです。作成していきましょう。
 
 
テンプレート作成
  1. archive-{post_type}.php(例 archive-news.php)
  2. archive.php
  3. index.php
の優先順位でカスタムテンプレートは実行されていきます。
newsスラッグのためには「archive-news.php」というテンプレートを作成する必要があります。
 
single.phpをコピーし、archive-news.phpとリネームします。
<?php get_header(); ?>
<?php get_footer(); ?>
<?php get_sidebar(); ?>
など、共有部分を読み込みます。
 
contentsのループ部分は呼び出すスラッグを指定し、新たに作成します。
<?php get_template_part(‘loop’,’news’); ?>
として、ループ部分に設置しておきます。
 
 
こんな感じです。
 
<?php get_header(); ?>
    <div class=”contentsWrap”>
        <div class=”mainContents”>
            <section class=”planBlock block”>
                <h1 class=”title”>タイトル</h1>
                <div class=”blob_box”>
 
                    <?php get_template_part(‘loop’,’news’); ?>
 
                </div><!– /.plans –>
            </section><!– /.planBlock –>
        </div><!– /.mainContents –>
 
        <aside class=”sidebar”>
            <?php get_sidebar(); ?>
        </aside><!– /.subContents –>
    </div><!– /.contentsWrap –>
 
<?php get_footer(); ?>
</body>
</html>
 
再度投稿したページを見ると、きちんと反映されているのが確認できます。
 
 
 
投稿タイプの名前がnewsだとしたら投稿一覧ページarchive-news.phpを作ることで、オリジナルなデザインを探しに行きます。単独の記事ページのデザインを変えたい場合はsingle-news.phpを新たに作りましょう。
 
以上

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください