WordPress 3.0 以降から自分で投稿タイプをカスタマイズできる「カスタム投稿タイプ」というものがあります。
通常の「投稿」「固定ページ」とは別に、独自で作成することができるので非常に便利です。
プラグインもあるようですが、「function.php」にちょっと追記するだけで使用可能です。
※「function.php」の編集は失敗すると大変なため、慎重に編集して下さい。(失敗した場合は、FTPソフトなどで、正常な状態のファイルをアップロードして下さい。)
「カスタム投稿タイプ」の作成
関数でアクションフックを定義します。
add_action( 'init', 'create_post_type' );
タイプ名は、適当な名前に変更してください。
function create_post_type() {
register_post_type(
'contentinfo', // 投稿タイプ名の定義
array(
'labels' => array(
'name' => __( 'コンテンツ情報' ), // 表示する投稿タイプ名
'singular_name' => __( 'コンテンツ情報' )
),
'public' => true,
'menu_position' => 5,
'supports' => array('title','editor','thumbnail','custom-fields','excerpt','author','trackbacks','comments','revisions','page-attributes')
)
);
}
「カスタムタクソノミー」の作成
英語だと、「カスタムタクソノミー (Custom Taxonomies)」となりますが、わかりやすく以下では「カスタム分類」としておきます。
register_taxonomy(
'content-category', // 分類名の定義
'contentinfo', // 使用する投稿タイプ名
array(
'hierarchical' => true,
'update_count_callback' => '_update_post_term_count',
'label' => 'コンテンツタイトル',
'singular_label' => 'コンテンツタイトル',
'public' => true
'show_ui' => true
)
);
まとめ
両方のコードをまとめるとこんな感じです。
//カスタム投稿タイプ
add_action( 'init', 'create_post_type' );
function create_post_type() {
register_post_type(
'contentinfo', // 投稿タイプ名の定義
array(
'labels' => array(
'name' => __( 'コンテンツ情報' ), // 表示する投稿タイプ名
'singular_name' => __( 'コンテンツ情報' )
),
'public' => true,
'menu_position' => 5,
'supports' => array('title','editor','thumbnail','custom-fields','excerpt','author','trackbacks','comments','revisions','page-attributes')
)
);
// カスタムタクソノミー
register_taxonomy(
'content-category', // 分類名の定義
'contentinfo', // 使用する投稿タイプ名
array(
'hierarchical' => true,
'update_count_callback' => '_update_post_term_count',
'label' => 'コンテンツタイトル',
'singular_label' => 'コンテンツタイトル',
'public' => true,
'show_ui' => true
)
);
}
「ページが見つかりません」と表示される。
新規投稿すると、「ページが見つかりません」と表示される場合があります。
コードに問題がなければ、「設定」の「パーマリンク設定」で「変更を保存」のボタンをクリックすると解決することが多いです。
今回は弊社、「なごむカフェ」のホームページで各コンテンツの情報をまとめるのに「カスタム投稿タイプ」と「カスタムタクソノミー」を使いました。
自己紹介
松田 大と申しますm(_ _)m
インディーズでミュージシャンをやっていたのですがいつのまにか…
とある企業でショップのアルバイトスタッフから正社員、支店長を経てシステム部門に異動するという、開発担当としては変わった経緯を持っている方だと思います。
「Excel VBA」からスタートして、Yamaha RTX シリーズで VPN環境構築、Hyper-V環境構築、Windowsアプリ開発などを経験した後、「 WordPress 」に出会い、どっぷりハマっています。
現在勤めているETBS合同会社では、「 WordPress 」を活用したWEBサイト、業務用WEBアプリケーション開発を中心に、記事の執筆代行や掲載に必要な情報のリサーチ、映像のテロップ入れや切りはりなどの簡単な動画編集なども、まとめて行なっています。
宮崎県 都城市 出身。東京都 葛飾区 在住。現在、代表兼二児のパパ。子育てを通じて、こどもたちにもプログラミングの楽しさに触れてほしいと思うようになり、「 こどもICTかつしか教室 」を開講中。最近は童心に帰り、簡単なゲーム制作なんかも楽しんでいます(^_^)。
インディーズでミュージシャンをやっていたのですがいつのまにか…
とある企業でショップのアルバイトスタッフから正社員、支店長を経てシステム部門に異動するという、開発担当としては変わった経緯を持っている方だと思います。
「Excel VBA」からスタートして、Yamaha RTX シリーズで VPN環境構築、Hyper-V環境構築、Windowsアプリ開発などを経験した後、「 WordPress 」に出会い、どっぷりハマっています。
現在勤めているETBS合同会社では、「 WordPress 」を活用したWEBサイト、業務用WEBアプリケーション開発を中心に、記事の執筆代行や掲載に必要な情報のリサーチ、映像のテロップ入れや切りはりなどの簡単な動画編集なども、まとめて行なっています。
宮崎県 都城市 出身。東京都 葛飾区 在住。現在、代表兼二児のパパ。子育てを通じて、こどもたちにもプログラミングの楽しさに触れてほしいと思うようになり、「 こどもICTかつしか教室 」を開講中。最近は童心に帰り、簡単なゲーム制作なんかも楽しんでいます(^_^)。









コメントを残す