追加[カスタム投稿タイプ]機能を必要とするカスタム投稿タイプは多数ありますが、カスタム投稿タイプは "About"で、カスタムカスタム投稿タイプについては "新規追加"は不要です。だから私は "Add About"と書かれている一番上のボタンを削除したいです。
これが私の言っていることです。
どのように私はそれを削除することができますか?
以下を参照してください。
function disable_new_posts() {
// Hide sidebar link
global $submenu;
unset($submenu['edit.php?post_type=CUSTOM_POST_TYPE'][10]);
// Hide link on listing page
if (isset($_GET['post_type']) && $_GET['post_type'] == 'CUSTOM_POST_TYPE') {
echo '<style type="text/css">
#favorite-actions, .add-new-h2, .tablenav { display:none; }
</style>';
}
}
add_action('admin_menu', 'disable_new_posts');
より良い解決策は、custom_post_typeを作成する機能を無効にすることです。
register_post_type を呼び出すときは、単純に 'create_posts' => false、 をcapabilities配列に渡します。
$args = array(
'label' => __( 'Custom Post Type', 'text_domain' ),
'description' => __( 'Custom Post Type', 'text_domain' ),
'labels' => $labels,
'supports' => array( ),
'hierarchical' => false,
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'show_in_nav_menus' => true,
'show_in_admin_bar' => true,
'has_archive' => true,
'exclude_from_search' => false,
'publicly_queryable' => true,
'map_meta_cap' => true,
'capability_type' => 'custom_post_type',
'capabilities' => array(
'create_posts' => false
)
);
register_post_type( 'custom_post_type', $args );
@ TompaLompaの回答が不完全だったので編集しました。 create_posts => false
がtrue
に設定されていない場合、map_meta_cap
を追加しても機能しません。
このパラメータを設定しない(またはfalse
に設定する)と、投稿タイプの編集も無効になります。これは、あなたの投稿タイプを add AND edit にするために、各ユーザーロールにedit_post
機能を追加する必要があるためです。
このパラメータを設定すると、WP内部デフォルトメタ機能処理が使用され、ロール機能をデフォルトのWPよりも細かく制御する必要がない場合に使用できます。
その後、 Add New を削除するだけで、custom_post_type
を使用していない場合は、'capability_type' => 'custom_post_type'
を使用しないでください。このコードを削除したほうがいいでしょう。がんばろう :)
だから、デモは以下の通りです:
array(
'labels' => $member_labels,
'has_archive' => true,
'public' => true,
'hierarchical' => true, // like page
'rewrite' => array('slug' => 'member_pages'),
'supports' => array(
'title',
'editor',
'excerpt',
'custom-fields',
'thumbnail',
'page-attributes',
),
'taxonomies' => array('post_tag', 'cm_club'),
// 'capability_type' => 'custom_post_type',
'capabilities' => array(
'create_posts' => false,
),
'map_meta_cap' => true,
)
私が感じた最良の方法は、add-admin-javascriptプラグインをインストールしてアクティブにしてから設定に進み、最後のボックスにこのコードを書くことです。
$('.wrap .wp-heading-inline').remove();
$('.wrap .page-title-action').remove();
$('#wp-admin-bar-new-content').remove();