okuden-labo
4/13/2015 - 9:43 AM

wordpress カスタム投稿タイプの設定

wordpress カスタム投稿タイプの設定

//カスタム投稿タイプの個別ページ

//1. ファイル名
//ファイル名をsingle-カスタム投稿タイプ名.phpとする
//例)tournament single-tournament.php

//2. 管理画面のパーマリンク設定
//とくに設定の変更は行わず、「変更を保存」をクリックするとパーマリンク設定が再認識される
//固定ページに指定した投稿タイプの一覧を表示

<?php
$args = array(
'post_type' => 'tournament', /* 投稿タイプを指定、これは必須 */
'orderby' => 'date', /* 無くてもOK */
'order' => 'DESC', /* 無くてもOK */
'showposts' => 20, /* 無くてもOK */
'posts_per_page' => 20, /* 無くてもOK */
'paged' => $paged,);  /* これは必須 */
?>

<?php query_posts($args); ?>
<?php if (have_posts()): ?>
	<?php while (have_posts()):
        the_post();
?>
    <div class="post">
    	<h3><?php the_title(); ?></h3>
    	<p class="post-date"><?php the_time("Y年m月j日") ?></p>
    	<?php the_content(); ?>
    </div>
	<?php
    endwhile; ?>     
<?php
else: ?>
    <div class="post">
		<h3>記事がありません</h3>
    </div>
<?php
endif; ?>

<?php wp_reset_query(); ?>
// カスタム投稿タイプ tournament
add_action('init', 'register_post_type_and_taxonomy');
function register_post_type_and_taxonomy() {
  register_post_type(
    'tournament',
    array(
      'labels' => array(
        'name' => '大会情報',
        'add_new_item' => '大会情報を追加',
        'edit_item' => '大会情報の編集',
      ),
      'public' => true,
      'supports' => array(
        'title',
        'editor',
        'excerpt',
        'custom-fields',
        'thumbnail',
      ),
    )
  );
}