Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Custom post types & Custom taxonomies en WordPress

Custom post types & Custom taxonomies en WordPress

Presentación de Braulio Aquino para el WordCamp Lima 2013 acerca de la utilidad y manejo de Custom Post Types y Custom Taxonomies en WordPress

Braulio Aquino

October 19, 2013
Tweet

More Decks by Braulio Aquino

Other Decks in Programming

Transcript

  1. Tipos de contenido por defecto Posts: ❖ El contenido varía

    con el tiempo. ❖ Mostrado de forma cronológica. ❖ Clasificado en categorías y tags. Páginas: ❖ Contenido que no cambia (estático). ❖ Se muestra individualmente. ❖ Puede usar jerarquías.
  2. Tipos de contenido personalizado ❖ Soporta diferentes clasificaciones. ❖ No

    se limita a Título + Contenido + Autor. ❖ Tiene su propia sección en el panel. ❖ Puede no usar contenido ni autor. ❖ Puede tener diseño propio. ❖ Puede o no variar con el tiempo.
  3. El código: function custom_post_type() { $labels = array( 'name' =>

    'Productos', 'singular_name' => 'Producto', 'menu_name' => 'Producto', 'parent_item_colon' => 'Producto principal', 'all_items' => 'Todos los productos', ... // muchas más líneas de código ); $args = array( 'supports' => array( 'title', 'editor', 'excerpt', 'author' ), ... // muchas más líneas de código ); register_post_type( 'producto', $args ); } add_action( 'init', 'custom_post_type', 0 );
  4. El código (versión corta): function custom_post_noticias() { register_post_type( 'noticias', array(

    'labels' => array('name'=>'Noticias','singular_name'=>'Noticia'), 'public' => TRUE, 'rewrite' => array( 'slug' => 'noticia' ), 'has_archive' => TRUE, 'supports' => array( 'title', 'editor', 'comments'), ) ); } add_action( 'init', 'custom_post_noticias' );
  5. Formas de clasificación personalizada ❖ Puede soportar jerarquías. ❖ Soporta

    diferentes clasificaciones para un post type. ❖ Puede habilitarse a páginas. ❖ Puede compartirse entre diferentes post types.
  6. El código: function custom_taxonomy() { $labels = array( 'name' =>

    'Genero', 'all_items' => 'Todos los generos', 'add_new_item' => 'Agregar nuevo genero', 'edit_item' => 'Editar genero', 'update_item' => 'Actualizar genero', ... // muchas más líneas de código ); $args = array( 'hierarchical' => true, ... // muchas más líneas de código ); register_taxonomy( 'genero', 'post', $args ); } add_action( 'init', 'custom_taxonomy', 0 );
  7. El código (versión corta): function custom_taxonomy_tipo() { register_taxonomy( 'tipo', array(

    'post', 'page', 'custom_post_1', 'custom_post_2' ), array( 'label' => __( 'Tipo' ), 'rewrite' => array( 'slug' => 'tipo' ), 'hierarchical' => TRUE, 'show_admin_column' => TRUE ) ); } add_action( 'init', 'custom_taxonomy_tipo' );