カスタム投稿タイプ 簡単利用 プラグイン Custom Post Type UI
使用方法
では、どーやって使うんだよー。って話だと思いますので使ってみましょう。
新しくサイドメニュー追加された『Custom Post Type』をクリックすると、以下のようなメニューが開きます。

詳細は以下のとおり
Custom Post Type:プラグインの詳細などが確認できます。
Add New :カスタム投稿、カスタム分類の新規追加
Manage Post Types:カスタム投稿の管理、設定
Manage Taxonomies:カスタム分類の管理、設定
となっております。
カスタム投稿?カスタム分類?とりあえず使用方法
さぁさぁ、段々訳分かんない感じになっていきますよーw
まずは、あたって砕けろ的に追加してみましょう。
Add Newをクリック。このような画面が表示されます。

日本語で書かれていますのでそんなに難しいこともないかと思います。
それぞれの詳細です。
投稿タイプ名:カスタム投稿タイプの名前(urlとなります。)
ラベル:カスタム投稿タイプのラベル(表示する際のラベル。空白可)
単体系のラベル:カスタム投稿タイプ名の単数形(空白可)
説明:カスタム投稿タイプ名の説明(空白可)
それぞれ任意で入力してください。
それでは作成しましょう。
「動物」という投稿タイプを作成してみます。

以上の様に、投稿タイプ名:animal ラベル:動物 説明:動物に関する記事です。
と入力し、「Creare Custom Post Type」ボタンをクリック。
すると、左のメニューバーに「動物」の項目が!

簡単ー!
では動物の記事を追加するため、メニューの「動物」をクリック。
すると、

まだ投稿を行っていないのでこのように表示します。
「Add 動物」をクリックし投稿!

この部分は通常の投稿と変わりません。投稿ボタンを押しTOPページを確認。

カスタム投稿 表示方法
それではカスタム投稿タイプをTOPページに表示しましょう。
index.php
<h2>News & Topics</h2>
<?php $loop = new WP_Query(array("post_type" => "news", "posts_per_page" => 10 ));
while($loop->have_posts()): $loop->the_post(); ?>
<div id=”post-<?php the_ID(); ?>” <?php post_class(); ?>>
<h3><?php the_date(); ?><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h3>
<?php the_content(); ?>
</div>
<?php endwhile; ?>
POST_TYPE newsというやつを10件表示
すると、

|
1
|
$loop = new WP_Query(array("post_type" => "animal", "posts_per_page" => 10 )); |
でカスタム投稿のloopを作っています。
”post_type”=>”animal”は
”post_type”=>”投稿タイプ名“となります。
一覧を表示する方法
各投稿タイプの「Advanced Options」内の「Has Archive」を「True」にしてください。
プラグインを使ってもやっていることは以下の内容と同じです。
http://codex.wordpress.org/Function_Reference/register_post_type
そうするとカスタム投稿タイプはアーカイブ(一覧ページ)を持つことができます。
その際、どのテンプレートファイルが使われるかは以下のページを参考にしてください。
http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E9%9A%8E%E5%B1%A4
(端的に書くと優先されるのは archive-投稿タイプ名.php です)
なお、アーカイブページへのリンクは
テンプレートタグ get_post_type_archive_link() を使うか、
以下のフォーラムを参照にしてみて下さい。
http://ja.forums.wordpress.org/topic/7556?replies=7
■投稿タイプで条件分岐(アーカイブページの時)
|
1
2
3
|
<?php if (( get_post_type() == '')): ?><?php endif; ?> |
■タクソノミーで条件分岐(アーカイブページの時)
タクソノミーで条件分岐
|
1
2
3
|
<?php if(is_tax()): ?><?php endif; ?> |
タクソノミーのタームで条件分岐
|
1
2
3
|
<?php if(is_tax('fruit_cat', 'apple')): ?><?php endif; ?> |
タクソノミーのタームで条件分岐(タームが複数ある時)
|
1
2
3
|
<?php if(is_tax('fruit_cat', array('apple','orange'))): ?><?php endif; ?> |
■タクソノミーで条件分岐(シングルページの時)
タクソノミーのタームで条件分岐
|
1
2
3
|
<?php if (is_object_in_term($post->ID, 'fruit_cat','orange')): ?><?php endif; ?> |
タクソノミーのタームで条件分岐(タームが複数ある時)
|
1
2
3
|
<?php if (is_object_in_term($post->ID, 'fruit_cat',array('apple','orange'))): ?><?php endif; ?> |