勉強用なので間違っていたら随時修正していきます。
カスタム投稿を作成
function.phpに記載。
//----------------------------------------------
// カスタム投稿 「旅行日記」
//----------------------------------------------
register_post_type(
'travel_diary', //カスタム投稿名
array(
'label' => '旅行日記', //左のメニューに表示される名前
'menu_position' => 4, // メニューが表示される位置
'public' => true, // ダッシュボードに表示・非表示
'has_archive' => true, // アーカイブ機能の追加
'exclude_from_search' => true, //
'supports' => array( // 投稿画面何を挿入するか?↓
'title', // タイトル
'editor', // 本文
'thumbnail', //アイキャッチ
'revisions' // リビジョン
)
)
);
add_post_type_support( 'travel_diary', 'page-attributes' );//投稿一つひとつにに順序をつける
☆その他参考になるタグ
テンプレートタグ/get posts
タクソノミー(タグ・カテゴリー)追加
function.phpに記載。
//----------------------------------------------
// カスタム投稿 「旅行日記」 カテゴリー
//----------------------------------------------
register_taxonomy(
'td_cat', //カテゴリー名
'travel_diary', //カスタム投稿の名前
array(
'label' => 'カテゴリー', //表示される名前
'hierarchical' => true, //親子関係の有無
'query_var' => true , //スラッグ名でアドレスが開けるように
'show_ui' => true //管理画面で一覧ページを表示
)
);
//----------------------------------------------
// カスタム投稿 「旅行日記」 タグ
//----------------------------------------------
register_taxonomy(
'td_tag',
'travel_diary',
array(
'label' => 'タグ',
'hierarchical' => true,
'query_var' => true,
'show_ui' => true
)
);
##themeにphpを作成
###single-travel_diary.php
記事が見つかりませんでした。
カスタム投稿の特定のタグがついた記事のみ表示したいとき(html部分に入力)
$args = array(
'post_type' => 'travel_diary', //カスタム投稿名
'numberposts' => 100,//表示記事数
'orderby' => 'menu_order', // 表示する順番(この場合は管理画面で指定した投稿の順序)
'order' => 'ASC', //(昇順で表示する)
'tax_query' => array(
array(
'taxonomy' => 'td_tag', //上記で指定したタグの名前
'field' => 'slug',
'terms' => 'tag_name', //管理画面のタグ登録画面で指定したスラッグを入力
'orderby' => 'menu_order'
)
)
);
$customPosts = get_posts($args);
if($customPosts) : foreach($customPosts as $post) : setup_postdata( $post );
参考になったサイト
Wordpressでカスタム投稿の特定のタームだけ出力する
テンプレートタグ/get posts
[ざっくりWordPressの自作テンプレートの作り方]
(https://qiita.com/kazukichi/items/5126a4fd259d374e99ae)
[WordPress 3.0のカスタム投稿タイプ機能(その2)]
(https://www.h-fj.com/blog/archives/2010/06/15-172024.php)