Taxonomías

Páginas, entradas , custom post types (II)

Ejemplo práctico post types

Bien. Para ver si todo esto nos ha quedado claro, vamos con un ejemplo práctico custom post types. Queremos crear un nuevo tipo de contenido (libros) para el que crearemos una taxonomía (género). Podremos clasificar nuestros libros en tantos géneros como queramos.

¿Y cómo hacemos esto? En primer lugar, buscamos el archivo functions.php de nuestro tema. Lo abrimos con nuestro editor favorito y añadimos el siguiente código:

add_action('init', 'registro_libros');    
function registro_libros() {  
    $args = array(  
        'label' => __('Libros'),
        'singular_label' => __('libros'),
        'public' => true,'show_ui' => true,
        'capability_type' => 'post',
        'hierarchical' => false,
        'rewrite' => true, 
        'supports' => array ('title','editor', 'excerpt', 'thumbnail', "comments"));    
    register_post_type( 'libros' , $args );  
} 

Ahora, veamos que significa este galimatías:

Para empezar, tenemos la primera línea:

add_action('init', 'registro_libros');

Esto viene a decirle a WordPress que, cuando arranque el tema, llame a la función registro_libros, y que haga lo que en ella se dice.

En esta función, introducimos una serie de parámetros en el array “$args“, tales como la label, que es el texto que veremos en el menú de la Administración de WordPress de la izquierda, supports, que le dice a WordPress si nuestro nuevo post type admite excerpt, thumbnail, etc…

Un argumento importante es el:

'capability_type'

Este argumento puede tener los valores ‘post‘ o ‘page‘. Con esto le decimos a WordPress cómo queremos que se comporte nuestro nuevo post type, si como una página (con jerarquía) o como un post (con categorías y taxonomías). En nuestro caso, hemos elegido post por razones evidentes.  Por último usamos:

register_post_type( 'libros' , $args );

que lo que hace es lanzarle la orden a WordPress de que cree ese post type con los argumentos que hemos definido antes. Grabamos nuestro archivo, recargamos el navegador y veremos en el lado izquierdo, una nueva entrada de menú con la etiqueta Libros. Mágico, ¿verdad?

Y después de los post types, las taxonomías

Post TypesBien, ya tenemos creado nuestro post type a medida. Ahora vamos a crear la taxonomía. Queremos organizar nuestros libros por su género, así que crearemos una taxonomía a la que llamaremos género. Una vez creada, podemos añadir géneros, y asignárselos a nuestros libros.

Volvemos a nuestro archivo functions.php y añadimos el siguiente código:

add_action('init', 'crear_genero', 0);

function crear_genero() {
$labels = array(
 'name' => _x('Géneros', 'nombre general'),
 'singular_name' => _x('Género', 'nombre singular'),
 'search_items' => __('Buscar Género'),
 'all_items' => __('Todos los Géneros'),
 'parent_item' => __('Género Padre'),
 'parent_item_colon' => __('Género Padre:'),
 'edit_item' => __('Editar Género'),
 'update_item' => __('Actualizar Género'),
 'add_new_item' => __('Añadir Género'),
 'new_item_name' => __('Nombre del Nuevo Género'),
 'menu_name' => __('Género'),
 );
$args = array(
 'hierarchical' => true,
 'labels' => $labels,
 'show_ui' => true,
 'show_admin_column' => true,
 'query_var' => true,
 'rewrite' => array('slug' => 'genero'),
 );
register_taxonomy('genero', array('libros', 'revistas', 'peliculas'), $args);
}

TaxonomíasEn primer lugar volvemos a tener un add_action, para lanzar nuestra función al iniciarse la administración. Nuestra función comienza con un array de labels (etiquetas) que son las que aparecerán en el menú, en la pantalla de creación y edición de categorías, etc.

Después tenemos el array$args“, en el que le decimos a WordPress que queremos que la taxonomía sea jerárquica,  que aparezcan sus valores en la pantalla de listado de libros en la administración, etc. Y por último, registramos la taxonomía. Verás que asignamos la taxonomía “género” a un array.

array('libros', 'revistas', 'peliculas')

En este ejemplo de post types, estamos asignando de una sola vez la taxonomía género a los post types libros (que ya hemos creado), revistas y películas (que no hemos creado pero que puedes crear tú de manera muy sencilla siguiendo los pasos anteriores).

Grabamos, recargamos nuestro navegador y veremos varias cosas: en el menú de libros, veremos que aparece un nuevo subitem con la etiqueta Géneros (¡nuestro post types!). Ahí es donde podemos crearlos, editarlos, etc. Y si creamos un nuevo libro, o editamos uno ya existente, en el lado derecho podremos ver una nueva caja etiquetada como Géneros, donde le asignaremos un género al libro que estemos creando/editando. Así de sencillo.

Y ante cualquier duda, no hay nada como darse una vuelta por el Códex y seguir los ejemplos que allí se incluyen. Espero que estos dos posts hayan sido útiles para vosotros y hagáis vuestros propios post types con sus taxonomías. Nos vemos en el siguiente.

The following two tabs change content below.

Francisco Palacios Chaves

Licenciado en Matemáticas, programador en PHP, Bootstrap, CSS, Codeignite entre otros. Francisco Palacios es un Freak de Bing Bang Theory, Pet Shop Boys y Apple, techno malagueño, escritor, politólogo, amante de la noche malagueña, bailongo, Indi adicto a las lágrimas de pollo en Mitjana, emprendedor empedernido, CEO y co-fundador de Social Grown.

Latest posts by Francisco Palacios Chaves (see all)

Posted in Blog, Programación and tagged , , , , , , .

Deja un comentario