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

Avatar for Braulio Aquino

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' );