WordPressテーマ〜(7)カスタム投稿タイプ

lecture
スポンサーリンク

カスタム投稿タイプとは

WordPressでつくったコンテンツ(記事)はカテゴリー、日付、著者などで分類されます。
「投稿タイプ」というのは コンテンツのタイプを分類することです。
カスタム投稿タイプとはコンテンツのタイプを新たに作成したものをいいます。
カスタムタクソノミーとは、簡単にいってしまえば カスタム分類のことです。さらに具体的にいうとカスタム投稿タイプで使用するカテゴリのようなものです。

自分でカスタム投稿タイプを作成

カスタム投稿タイプを作成するにはfunctions.phpにコードを記述しなければなりません。
次はそのコードの例です。

/* カスタム投稿タイプの追加 */
 add_action( 'init', 'create_post_type' );
 function create_post_type() {
 register_post_type( 'cook', /* post-type */ 
array( 'labels' => array( 'name' => __( '料理' ),
 'singular_name' => __( '料理' ) ),
 'public' => true,
 'menu_position' =>5, 
) ); } 

cookというカスタム投稿タイプを作成しています。
次に管理画面を見てみると、「料理」というカスタム投稿が表示されます。
cook1

カスタムタクソノミー

カスタムタクソノミーとはカテゴリー分け、分類のことです。簡単に表現すれば カスタム分類です。
カスタムタクソノミーを使用するにはfunctions.phpにコードを追記します。
以下参考例です。

/* カスタム投稿タイプの追加 */
 add_action( 'init', 'create_post_type' );
 function create_post_type() {
 register_post_type( 'cook', /* post-type */ 
array( 'labels' => array( 'name' => __( '料理' ),
 'singular_name' => __( '料理' ) ),
 'public' => true,
 'menu_position' =>5, 
) ); } 
register_taxonomy(
    'cookcat', /* タクソノミーの名前 */
    'cook', /* cook投稿で設定する */
    array(
      'hierarchical' => true, /* 親子関係が必要なければ false */
      'update_count_callback' => '_update_post_term_count',
      'label' => '料理のカテゴリー',
      'singular_label' => '料理のカテゴリー',
      'public' => true,
      'show_ui' => true
    )
  );

cook2

カスタム投稿タイプの表示

表示したいテンプレートに以下を記述します。

<?php
/* カスタム投稿タイプを表示する */
$loop = new WP_Query( array( 'post_type' => 'cook', 'posts_per_page' => 10 ) );
while ( $loop->have_posts() ) : $loop->the_post();
?>

<h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>">
<?php the_title(); ?></a></h2>         
<p class="taxonomies">
    <?php echo  get_the_term_list( $post->ID, 'cookcat', '分類', ', ', '' ); ?>
</p>
<div class="custom-post-content">
    <?php the_content('続きを読む&raquo;'); ?>
</div>
<?php endwhile; ?>
タイトルとURLをコピーしました