HOME > 投稿とカスタム投稿とカスタム分類

投稿とカスタム投稿とカスタム分類

srcWordPress において投稿とはデフォルトの投稿のことで、カスタム投稿は投稿機能の追加分です。カスタム分類というのはカスタム投稿のカテゴリーのことです。

この概念は、いろいろな本やネットにもありますが Codex にある テンプレートファイルの図解 も参考にしながら私なりに調べて実践したメモを残しておきます。

※画像はイメージです。


あらかじめ固定ページで追加したページスラッグが works の場合に使われるファイルは以下の通り。
・アーカイブ(投稿一覧)
投稿 index.php single.php
カスタム投稿 archive-post_works.php / single-post_works.php

・カテゴリー(記事の分類)
投稿 category.php
カスタム分類 taxonomy-cat_works.php

これを利用できるようにするには、function.php に以下の記述を追加します。

function add_custom() {
	register_taxonomy('cat_works', 
		array('post_works'),
		array(
// 管理画面ラベル名
'label' => '仕事のカテゴリー',
'show_ui' => true,
// 分類に親子関係を持たせる
'hierarchical' => true,
// アーカイブページの URL を /works/category/分類スラッグ とする
'rewrite' => array(
'slug' => 'works/category', 'with_front' => false)
));
register_post_type('post_works', array(
// 管理画面ラベル名
'label' => '仕事',
// 管理画面の表示位置
'works_position' => 3,
// サイト上にも表示する
'public' => true,
// タイトル、内容、アイキャッチ画像、カスタムフィールドを使う
'supports' => array(
'title', 'editor', 'thumbnail', 'custom-fields'),
// アーカイブを持つ
'has_archive' => true,
// シングルページの URL を /works/スラッグ とする
'rewrite' => array(
'slug' => 'works', 'with_front' => false)
));	
	
}
add_action('init', 'add_custom');

注意)この記述を行った後には必ずパーマリンク設定で「変更を保存」をクリックして設定を反映させます。

次に single-post_works.php ファイルを作成して投稿タイプ(仕事)を出力するループを記述します。

<div id="content">
<?php // 投稿・アーカイブページで投稿を出力するループ ?>
<?php if (have_posts()) : ?>
<strong><?php while (have_posts()) : the_post(); ?></strong>
<?php // 記事の内容を出力 ?>
<div class="entry-content">
<?php the_title('<h3>', '</h3>'); ?><?php edit_post_link('編集する',' ',' '); ?>
<?php the_content(); ?>
<?php echo  get_the_term_list( $post->ID, 'cat_works','<h4>', ' , ', '</h4>', ''); ?>
</div><!--entry-content-->
<strong><?php endwhile; ?></strong>
<?php else: ?>
<p>仕事情報がありません。</p>
<?php endif; ?>
</div><!--content-->

このコードでは、カスタム分類(カテゴリー)も表示させています。
次回は投稿したらトップページにサムネイル表示させる方法を書いてみます。
今日はここまで。おやすみなさい。zzz…


カテゴリー:わーどぷれす

コメントを残す

PageTop