WordPressでカスタム投稿を設定した時、アーカイブ・個別ページが自動的に生成されます。
一覧で表示するためだけに必要だったりしてアーカイブ・個別ページが不要なときにする設定をご紹介します。
投稿タイプを追加
まずはfunction.php内にカスタム投稿を追加する設定を記述します。 今回はメンバーの投稿タイプを追加します。<?php
add_action('init', 'tmp_member_custom_post_type');
function tmp_member_custom_post_type() {
$labels = array(
'name' => 'メンバー',
'singular_name' => 'メンバー',
'add_new_item' => '新しいメンバーを追加',
'add_new' => '新規追加',
'new_item' => '新しいメンバー',
'view_item' => 'メンバーを表示',
'not_found' => 'メンバーはありません',
'not_found_in_trash' => 'ゴミ箱にメンバーはありません。',
'search_items' => 'メンバーを検索',
);
$args = array(
'labels' => $labels,
'public' => true,
'publicly_queryable' => true,
'show_ui' => true,
'query_var' => true,
'rewrite' => array('slug' => 'member', 'with_front' => false),
'hierarchical' => false,
'menu_position' => 5,
'has_archive' => true,
'yarpp_support' => true,
'capability_type' => 'post',
'supports' => array(
'title',
'editor',
'thumbnail',
'excerpt',
'custom-fields'
)
);
register_post_type('member', $args);
flush_rewrite_rules( true );
}
?>
生成されないように、以下のオプションの値を変更します。
ページ生成の設定
# 公開をする場合は「true」、公開しない場合は「false」
'public' => true,
# アーカイブページを表示をする場合は「true」、表示しない場合は「false」
'has_archive' => true,
<?php
add_action('init', 'tmp_member_custom_post_type');
function tmp_member_custom_post_type() {
$labels = array(
'name' => 'メンバー',
'singular_name' => 'メンバー',
'add_new_item' => '新しいメンバーを追加',
'add_new' => '新規追加',
'new_item' => '新しいメンバー',
'view_item' => 'メンバーを表示',
'not_found' => 'メンバーはありません',
'not_found_in_trash' => 'ゴミ箱にメンバーはありません。',
'search_items' => 'メンバーを検索',
);
$args = array(
'labels' => $labels,
'public' => false, // ←ここを変更
'publicly_queryable' => true,
'show_ui' => true,
'query_var' => true,
'rewrite' => array('slug' => 'member', 'with_front' => false),
'hierarchical' => false,
'menu_position' => 5,
'has_archive' => false, // ←ここを変更
'yarpp_support' => true,
'capability_type' => 'post',
'supports' => array(
'title',
'editor',
'thumbnail',
'excerpt',
'custom-fields'
)
);
register_post_type('member', $args);
flush_rewrite_rules( true );
}
?>