Advertisement
miriamdepaula

Testing Code: Criando CPT e Custom Tax no WordPress

May 14th, 2011
483
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.37 KB | None | 0 0
  1. add_action( 'init', 'register_cpt_evento' );
  2.  
  3. function register_cpt_evento() {
  4.  
  5.     $labels = array(
  6.         'name' => _x( 'Eventos', 'evento' ),
  7.         'singular_name' => _x( 'Evento', 'evento' ),
  8.         'add_new' => _x( 'Adicionar novo', 'evento' ),
  9.         'add_new_item' => _x( 'Adicionar novo evento', 'evento' ),
  10.         'edit_item' => _x( 'Editar evento', 'evento' ),
  11.         'new_item' => _x( 'Novo evento', 'evento' ),
  12.         'view_item' => _x( 'Ver evento', 'evento' ),
  13.         'search_items' => _x( 'Procurar eventos', 'evento' ),
  14.         'not_found' => _x( 'Nenhum evento encontrado', 'evento' ),
  15.         'not_found_in_trash' => _x( 'Nenhum evento encontrado na lixeira', 'evento' ),
  16.         'parent_item_colon' => _x( 'Evento pai:', 'evento' ),
  17.         'menu_name' => _x( 'Eventos', 'evento' ),
  18.     );
  19.  
  20.     $args = array(
  21.         'labels' => $labels,
  22.         'hierarchical' => false,
  23.         'description' => 'Eventos',
  24.         'supports' => array( 'title', 'editor', 'thumbnail', 'comments' ),
  25.         'taxonomies' => array( 'colaboradores' ),
  26.         'public' => true,
  27.         'show_ui' => true,
  28.         'show_in_menu' => true,
  29.         'menu_position' => 2,
  30.        
  31.         'show_in_nav_menus' => true,
  32.         'publicly_queryable' => true,
  33.         'exclude_from_search' => false,
  34.         'has_archive' => true,
  35.         'query_var' => true,
  36.         'can_export' => true,
  37.         'rewrite' => true,
  38.         'capabilities' => array(
  39.             'edit_post' => 'edit_evento',
  40.             'edit_posts' => 'edit_eventos',
  41.             'edit_private_posts' => 'edit_private_eventos',
  42.             'edit_others_posts' => 'edit_other_eventos',
  43.             'read_post' => 'read_evento',
  44.             'read_private_posts' => 'read_private_eventos',
  45.             'publish_posts' => 'publish_eventos',            
  46.             'delete_post' => 'delete_evento',
  47.             'delete_posts' => 'delete_eventos',
  48.             'delete_others_posts' => 'delete_others_eventos',
  49.             'delete_published_posts' => 'delete_published_eventos',
  50.             'delete_private_posts' => 'delete_private_eventos'
  51.         )
  52.     );
  53.     register_post_type( 'evento', $args );
  54.    
  55.     $labels_tax = array(
  56.         'name' => _x( 'Colaboradores', 'taxonomy general name' ),
  57.         'singular_name' => _x( 'Colaborador', 'taxonomy singular name' ),
  58.         'search_items' =>  __( 'Procurar colaboradores' ),
  59.         'popular_items' => __( 'Mais usados' ),
  60.         'all_items' => __( 'Todos os colaboradores' ),
  61.         'parent_item' => null,
  62.         'parent_item_colon' => null,
  63.         'edit_item' => __( 'Editar colaborador' ),
  64.         'update_item' => __( 'Atualizar colaborador' ),
  65.         'add_new_item' => __( 'Adicionar novo colaborador' ),
  66.         'new_item_name' => __( 'Novo colaborador' ),
  67.         'separate_items_with_commas' => __( 'Separar colaboradores com vírgulas' ),
  68.         'add_or_remove_items' => __( 'Adicionar ou remover colaboradores' ),
  69.         'choose_from_most_used' => __( 'Escolha entre os colaboradores mais usados' ),
  70.         'menu_name' => __( 'Colaboradores' ),
  71.     );
  72.    
  73.     register_taxonomy('colaboradores','evento',array(
  74.         'hierarchical' => false,
  75.         'labels' => $labels_tax,
  76.         'show_ui' => true,
  77.         'query_var' => true,
  78.         'rewrite' => array( 'slug' => 'colaboradores' ),
  79.         'capabilities' => array(
  80.             'manage_terms'=>'manage_colaboradores',
  81.             'edit_terms'=>'edit_colaboradores',
  82.             'delete_terms'=>'delete_colaboradores',
  83.             'assign_terms'=>'assign_colaboradores'
  84.         )
  85.  
  86.     ));
  87.    
  88.     //Get the admin role
  89.     $admin_role = get_role( 'administrator' );
  90.     // Add more capabilities to the admin role only for this plugin.
  91.     $admin_role->add_cap( 'edit_eventos' );
  92.     $admin_role->add_cap( 'edit_evento' );
  93.     $admin_role->add_cap( 'edit_private_eventos' );
  94.     $admin_role->add_cap( 'edit_others_eventos' );
  95.     $admin_role->add_cap( 'read_evento' );
  96.     $admin_role->add_cap( 'read_private_eventos' );
  97.     $admin_role->add_cap( 'publish_eventos' );
  98.     $admin_role->add_cap( 'delete_evento' );
  99.     $admin_role->add_cap( 'delete_eventos' );
  100.     $admin_role->add_cap( 'delete_others_eventos' );
  101.     $admin_role->add_cap( 'delete_published_eventos' );
  102.     $admin_role->add_cap( 'delete_private_eventos' );
  103.     $admin_role->add_cap( 'manage_colaboradores' );
  104.     $admin_role->add_cap( 'edit_colaboradores' );
  105.     $admin_role->add_cap( 'delete_colaboradores' );
  106.     $admin_role->add_cap( 'assign_colaboradores' );
  107.  
  108. }
  109.  
  110. function cpt_rewrite_flush() {
  111.   register_cpt_evento();
  112.   flush_rewrite_rules();
  113. }
  114. register_activation_hook(__FILE__, 'cpt_rewrite_flush');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement