web-dev-qa-db-ja.com

カスタム投稿タイプの機能の定義

カスタム投稿タイプを作成する際に、機能を定義しようとしていますが機能していません。このコードの何が問題になっていますか

$args = array(
  'labels' => $labels,
  'public' => true,
  'publicly_queryable' => true,
  'show_ui' => true,
  'query_var' => true,
  'rewrite' => true,
  'hierarchical' => false,
  'menu_position' => null,
  'supports' => array('title'),
  'capabilities' => array(
   'edit_post' => 'edit_video',
   'edit_posts' => 'edit_videos',
   'edit_others_posts' => 'edit_others_videos',
   'publish_posts' => 'publish_videos',
   'read_post' => 'read_videos',
   'read_private_posts' => 'read_private_videos',
   'delete_post' => 'delete_videos'
   )
   );
5
fxfuture

あなたのコードは正しいようです。代わりに以下を試してください。

$args = array(
    'labels' => $labels,
    'public' => true,
    'publicly_queryable' => true,
    'show_ui' => true,
    'query_var' => true,
    'rewrite' => true,
    'hierarchical' => false,
    'menu_position' => null,
    'supports' => array('title'),
    'capability_type' => 'video'
);

更新:

メンバーズプラグインで動作させる前に、いくつか追加の手順を実行する必要があります。 Justin Tadlock(メンバープラグインの開発者)からのこのフォーラム投稿を参照してください。 http://wordpress.org/support/topic/anyone-managed-to-get-custom-post-types-capabilities-working/page/2#post-1593534

このプラグインは自動的にそれをしているようです: http://wordpress.org/extend/plugins/map-cap/

9
sorich87