左側のサイドバーの管理メニューに表示されないカスタム投稿タイプの1つに奇妙な問題があります。
5つのカスタム投稿タイプを宣言しましたが、5つ目は左側のメニューに表示されません。表示されないのはクライアントの投稿タイプです。私はこれについて多くの検索をしましたが、成功しませんでした。
あなたの助けをどうもありがとう!
/**
* Custom Posts Types
*/
add_action('init', 'create_team_post_type');
function create_team_post_type() {
register_post_type( 'phil_team',
array(
'labels' => array(
'name' => __('Équipe'),
'singular_name' => __('Individu'),
'add_new' => __('Ajouter'),
'add_new_item' => __('Ajouter un individu'),
'view_item' => __('Voir individu'),
'edit_item' => __('Modifier individu'),
'search_items' => __('Rechercher un individu'),
'not_found' => __('Individu non trouvé'),
'not_found_in_trash' => __('Individu non trouvé dans la corbeille')
),
'public' => true,
'hierarchical' => false,
'menu_position' => 21,
'rewrite' => array('slug' => 'team'),
'supports' => array('title', 'editor', 'thumbnail'),
'show_ui' => true
)
);
}
add_action('init', 'create_projects_post_type');
function create_projects_post_type() {
register_post_type( 'phil_projects',
array(
'labels' => array(
'name' => __('Projets'),
'singular_name' => __('Projet'),
'add_new' => __('Ajouter'),
'add_new_item' => __('Ajouter un projet'),
'view_item' => __('Voir projet'),
'edit_item' => __('Modifier projet'),
'search_items' => __('Rechercher un projet'),
'not_found' => __('Projet non trouvé'),
'not_found_in_trash' => __('Projet non trouvé dans la corbeille')
),
'public' => true,
'menu_position' => 21,
'query_var' => 'project',
'rewrite' => array('slug' => 'who-we-help/our-work'),
'supports' => array('title', 'editor', 'thumbnail'),
'show_ui' => true
)
);
$set = get_option('post_type_rules_flased_POST-TYPE-NAME-HERE');
if ($set !== true){
flush_rewrite_rules(false);
update_option('post_type_rules_flased_POST-TYPE-NAME-HERE',true);
}
}
add_action('init', 'create_slideshow_post_type');
function create_slideshow_post_type() {
register_post_type( 'phil_home_slideshow',
array(
'labels' => array(
'name' => __('Slideshow'),
'singular_name' => __('Image'),
'add_new' => __('Ajouter'),
'add_new_item' => __('Ajouter une image'),
'view_item' => __('Voir image'),
'edit_item' => __('Modifier image'),
'search_items' => __('Rechercher une image'),
'not_found' => __('Image non trouvé'),
'not_found_in_trash' => __('Image non trouvé dans la corbeille')
),
'public' => true,
'hierarchical' => false,
'menu_position' => 21,
'rewrite' => array('slug' => 'slideshow'),
'supports' => array('title', 'editor', 'thumbnail'),
'show_ui' => true
)
);
}
add_action('init', 'create_home_boxes_post_type');
function create_home_boxes_post_type() {
register_post_type( 'phil_home_boxes',
array(
'labels' => array(
'name' => __('Boîtes page d\'accueil'),
'singular_name' => __('Boîte'),
'add_new' => __('Ajouter'),
'add_new_item' => __('Ajouter une boîte'),
'view_item' => __('Voir boîte'),
'edit_item' => __('Modifier boîte'),
'search_items' => __('Rechercher une boîte'),
'not_found' => __('Boîte non trouvé'),
'not_found_in_trash' => __('Boîte non trouvé dans la corbeille')
),
'public' => true,
'hierarchical' => false,
'menu_position' => 21,
'supports' => array('title', 'editor', 'thumbnail'),
'show_ui' => true
)
);
}
add_action('init', 'create_clients_post_type');
function create_clients_post_type() {
register_post_type( 'phil_clients',
array(
'labels' => array(
'name' => __('Clients'),
'singular_name' => __('Client'),
'add_new' => __('Ajouter'),
'add_new_item' => __('Ajouter un client'),
'view_item' => __('Voir client'),
'edit_item' => __('Modifier client'),
'search_items' => __('Rechercher une client'),
'not_found' => __('Client non trouvé'),
'not_found_in_trash' => __('Client non trouvé dans la corbeille')
),
'public' => true,
'show_ui' => true,
'hierarchical' => false,
'menu_position' => 21,
'supports' => array('title', 'editor', 'thumbnail')
)
);
}
この場合は同じではないようですが、左側の管理メニューに表示されない理由の1つは、投稿タイプの名前の長さが20文字を超えていることです 関数リファレンス/投稿タイプの登録
私の場合、管理者として左側のサイドバーにカスタム投稿タイプを表示できましたが、作成者は表示できませんでした。私が変更しなければならなかったのはcapability_type frompagetopostこれは、作成者がデフォルトで有効にしているためです。
'capability_type' => 'post'
この行は、投稿タイプの定義の$ args配列に入ります。
ユーザーロールエディタープラグインを使用する場合、「ユーザー」->「ユーザーロールエディター」->「機能の追加」)のようなカスタム機能を追加する必要がある場合があります:「読み取り」、「編集ポスト」、「削除ポスト」、「読み取りポスト」 'あなたのカスタム投稿を見ることができる(権利を持つ)ために手で
これは、menu_position
が別のメニュー位置と衝突したり、他のプラグインによって隠されたりすることが原因である場合があります。その値を変更してみてください。
'menu_position' => 21
追加 'show_in_menu' => true,
後'public' => true,
私は同じ問題を抱えていましたが、何も役に立ちません。しかし、私は(一時的に)解決策を見つけました。Appearance > Customize
に行き、そこにCustom post type
がありました。ローカルホストではすべてが正常だったので、このバグの原因はわかりませんが、ライブでは機能しません。
function.php
にコードを追加します。
以下に定義された画像を参照してください。
add_action('init', 'create_team_post_type');
function create_team_post_type() {
register_post_type( 'phil_team',
array(
'labels' => array(
'name' => __('Équipe'),
'singular_name' => __('Individu'),
'add_new' => __('Ajouter'),
'add_new_item' => __('Ajouter un individu'),
'view_item' => __('Voir individu'),
'edit_item' => __('Modifier individu'),
'search_items' => __('Rechercher un individu'),
'not_found' => __('Individu non trouvé'),
'not_found_in_trash' => __('Individu non trouvé dans la corbeille')
),
'public' => true,
'has_archive' => true,
'hierarchical' => false,
'menu_position' => 21,
'rewrite' => array('slug' => 'team'),
'supports' => array('title', 'editor', 'thumbnail'),
'show_ui' => true
)
);
}
add_action('init', 'create_projects_post_type');
function create_projects_post_type() {
register_post_type( 'phil_projects',
array(
'labels' => array(
'name' => __('Projets'),
'singular_name' => __('Projet'),
'add_new' => __('Ajouter'),
'add_new_item' => __('Ajouter un projet'),
'view_item' => __('Voir projet'),
'edit_item' => __('Modifier projet'),
'search_items' => __('Rechercher un projet'),
'not_found' => __('Projet non trouvé'),
'not_found_in_trash' => __('Projet non trouvé dans la corbeille')
),
'public' => true,
'has_archive' => true,
'menu_position' => 21,
'query_var' => 'project',
'rewrite' => array('slug' => 'who-we-help/our-work'),
'supports' => array('title', 'editor', 'thumbnail'),
'show_ui' => true
)
);
$set = get_option('post_type_rules_flased_POST-TYPE-NAME-HERE');
if ($set !== true){
flush_rewrite_rules(false);
update_option('post_type_rules_flased_POST-TYPE-NAME-HERE',true);
}
}
add_action('init', 'create_slideshow_post_type');
function create_slideshow_post_type() {
register_post_type( 'phil_home_slideshow',
array(
'labels' => array(
'name' => __('Slideshow'),
'singular_name' => __('Image'),
'add_new' => __('Ajouter'),
'add_new_item' => __('Ajouter une image'),
'view_item' => __('Voir image'),
'edit_item' => __('Modifier image'),
'search_items' => __('Rechercher une image'),
'not_found' => __('Image non trouvé'),
'not_found_in_trash' => __('Image non trouvé dans la corbeille')
),
'public' => true,
'has_archive' => true,
'hierarchical' => false,
'menu_position' => 21,
'rewrite' => array('slug' => 'slideshow'),
'supports' => array('title', 'editor', 'thumbnail'),
'show_ui' => true
)
);
}
add_action('init', 'create_home_boxes_post_type');
function create_home_boxes_post_type() {
register_post_type( 'phil_home_boxes',
array(
'labels' => array(
'name' => __('Boîtes page d\'accueil'),
'singular_name' => __('Boîte'),
'add_new' => __('Ajouter'),
'add_new_item' => __('Ajouter une boîte'),
'view_item' => __('Voir boîte'),
'edit_item' => __('Modifier boîte'),
'search_items' => __('Rechercher une boîte'),
'not_found' => __('Boîte non trouvé'),
'not_found_in_trash' => __('Boîte non trouvé dans la corbeille')
),
'public' => true,
'has_archive' => true,
'hierarchical' => false,
'menu_position' => 21,
'supports' => array('title', 'editor', 'thumbnail'),
'show_ui' => true
)
);
}
add_action('init', 'create_clients_post_type');
function create_clients_post_type() {
register_post_type( 'phil_clients',
array(
'labels' => array(
'name' => __('Clients'),
'singular_name' => __('Client'),
'add_new' => __('Ajouter'),
'add_new_item' => __('Ajouter un client'),
'view_item' => __('Voir client'),
'edit_item' => __('Modifier client'),
'search_items' => __('Rechercher une client'),
'not_found' => __('Client non trouvé'),
'not_found_in_trash' => __('Client non trouvé dans la corbeille')
),
'public' => true,
'has_archive' => true,
'hierarchical' => false,
'menu_position' => 21,
'supports' => array('title', 'editor', 'thumbnail'),
'show_ui' => true
)
);
}
これが1つの特定のユーザーアカウントでのみ発生しているが、他のすべてのアカウントで機能している場合は、次のことを行うためにこれが発生していることをユーザーに知らせる必要があります。
メニューページから、右上隅の[画面オプション]に移動し、カスタム投稿タイプをオンまたはオフにします。これにより、内部で何かが更新され、問題が修正されます。 [画面オプション]をクリックしても、カスタム投稿タイプが表示されない場合は、ここに投稿されている他のソリューションのいずれかを使用する必要があります。
必要な属性をfalseに設定した可能性があります。カスタム投稿タイプを左側のWordPress管理メニュー)に表示するには、これらの属性をtrue
に設定する必要があります。
'show_ui' => true,
'show_in_menu' => true,
WP-CLI を使用すると、このジョブは簡単です。まず、目的のカスタム投稿タイプを作成します。
wp scaffold post-type team-member \
--label='Team Member' \
--dashicon='id-alt' \
--theme
最後に、functions.php
ファイルに追加することを忘れないでください。
cat << EOF | tee -a $(wp eval 'echo get_theme_file_path("functions.php") . "\n";')
/**
* Custom Post Types.
*/
require get_template_directory() . '/post-types/team-member.php';
EOF