私は、ユーザーがカスタム投稿タイプを使用してスライダーにビデオを追加できるサイトで作業しています。実際には、3つの異なるスライダーがあり、それぞれの中に入るビデオは、割り当てられたカテゴリによって決定されます。cptを登録するコードは次のとおりです。
public function videos() {
register_post_type( 'videos',
[
'labels' => [
'name' => 'Videos',
'singular_name' => 'Videos'
],
'public' => true,
'show_in_rest' => true,
'taxonomies' => [ 'category' ],
'rewrite' => [ 'slug' => 'videos' ],
'supports' => [ 'title', 'custom-fields', 'editor', 'excerpt', 'thumbnail' ],
'menu_icon' => 'dashicons-format-video'
]
);
}
}
WP Adminを介して3つの異なるカテゴリを追加しましたが、ユーザーが自分で作成したカテゴリ以外のカテゴリを使用または作成できないようにしたいので、そのために「カテゴリ」が必要です。管理バー内のCPTメニューのタブが表示されないようにします。カスタム投稿メタボックスの[+新しいカテゴリを追加]リンクにも同じようにします。結論として、ユーザーは、既存のカテゴリを新しい投稿に割り当てる以外に、ビジネス処理カテゴリを持たないようにする必要があります。
これは非常に単純で一般的な修正のように思えたので、これまでのところ実用的な解決策を見つけることができなかったので驚いています。これは私が探しているものに非常に近いですが、register_taxonomy_for_object_type( 'category', 'custom_type' );
行を追加していないので、削除するものは何もありません。私はこれらすべてに非常に混乱しているので、助けていただければ幸いです。
'taxonomies' => [ 'category' ]
はあなたの呼び出し方法ですregister_taxonomy_for_object_type( 'category', 'custom_type' );
が、それを削除することで、メニューだけでなく、投稿タイプから分類法を削除します。
動画のカスタム分類法を登録し、それに管理機能を割り当てることをお勧めします。
分類法の登録:https://developer.wordpress.org/reference/functions/register_taxonomy/
このcapabilities
オプションでは、管理者のみがそれらを変更できるようにするため、次のようにcapabilties
なります。
'capabilities' => array(
'manage_terms' => 'update_core',
'edit_terms' => 'update_core',
'delete_terms' => 'update_core',
),
最終的には、モデレーター/編集者が管理できるカスタム投稿タイプと、管理者のみが変更できるがmod /編集者が割り当てることができるその投稿タイプに添付されたカスタム分類法があります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加