entradas personalizadas en wordpress - cpt

Post on 09-Apr-2017

24 Views

Category:

Internet

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Custom Post Type:el primer paso hacia la personalización

Jose J. Lazo León

<h1>Algo de mi:</h1>

Autodidacta

Curioso

Inquieto

Colaborador de WordPress Sevilla

Desarrollador en Sngular Team

<h1>¿Qué son los Custom Post Type?</h1>

Un poco de Historia…

1. WordPress surge con “Posts”

2. Se añadió la opción de crear “páginas” (un tipo de post):no tienen fecha, ni categorías ni etiquetas

3. WordPress 3.5: incorpora la opción de crear los "Custom Post Types": ¡Personalización al poder!

¡Os dije que poca, que en internet está todo!

Cada día los usamos:● Post● Page● Attachment● WooCommerce● Product● Shop_order

Los Custom Post Types son tipos de entrada personalizados que puedes agregar a tu WordPress ajustándose así a las necesidades del proyecto.

Unidos a los campos personalizados son una herramienta muy potente.

¿Qué vamos a hacer?

1. Crearemos un tipo de entrada personalizada y la registraremos para que nuestro WordPress la interprete.

2. Le añadiremos un campo personalizado para ver el funcionamiento del plugin ACF (Awesome Custom Fields).

3. Crearemos un archivo para listar nuestros CPTs.

4. Crearemos un archivo para mostrar cada CPT individualmente.

<h1>Practicar para aprender</h1>

<h1>Seguimos practicando</h1><span>es la única forma de aprender</span>

¿De qué se compone nuestro CPT?

● Título

● Contenido

● Fecha de Publicación

● PDF descargable(usaremos el plugin ACF o campos personalizados)

● Trabajo:○ Taxonomía tipo categoría

<h1>Codeando</h1><?php register_post_type('cpt_name’, $args); ?>// Register Custom Post Type

add_action( 'init', 'job_offer', 0 );function job_offer() {

$labels = array('name' => _x( 'Ofertas de

trabajo', 'Post Type General Name', 'theme_name' ),'singular_name' => _x( 'Oferta de

trabajo', 'Post Type Singular Name', 'theme_name' ),'menu_name' => __( 'Oferta de

trabajo', 'theme_name' ),'name_admin_bar' => __( 'Oferta

trabajo', 'theme_name' ),'parent_item_colon' => __( 'Parent

Item:', 'theme_name' ),'all_items' => __( 'Todas las

Ofertas', 'theme_name' ),'add_new_item' => __( 'Añadir

Oferta', 'theme_name' ),'add_new' => __( 'Añadir

nueva', 'theme_name' ),'new_item' => __( 'Nueva

Oferta', 'theme_name' ),'edit_item' => __( 'Editar

Oferta', 'theme_name' ),'update_item' => __( 'Actualizar

Oferta', 'theme_name' ),'view_item' => __( 'Ver Oferta',

'theme_name' ),'search_items' => __( 'Buscar

Oferta', 'theme_name' ),'not_found' => __( 'No hay

nada', 'theme_name' ),'not_found_in_trash' => __( 'Papelera

vacía', 'theme_name' ),);

$args = array('label' => __( 'job_offer',

'theme_name' ),'description' => __( 'Entradas

para las Ofertas de trabajo', 'theme_name' ),'labels' => $labels,'supports' => array( 'title',

'editor', 'excerpt', 'thumbnail', 'custom-fields', 'page-attributes', 'post-formats' ),

'taxonomies' => array( 'category', 'post_tag' ),

'hierarchical' => false,'public' => true,'show_ui' => true,'show_in_menu' => true,'menu_position' => 5,'menu_icon' => 'dashicons-

awards','show_in_admin_bar' => true,'show_in_nav_menus' => true,'can_export' => true,'has_archive' => true,'exclude_from_search' => false,'publicly_queryable' => true,'capability_type' => 'post',

);register_post_type( 'job_offer', $args );

}

<h1>Codeando</h1><?php register_taxonomy( $taxonomy, $object_type, $args ); ?>// Register Taxonomyif ( ! function_exists( 'task_taxonomy' ) ) {

function task_taxonomy() {$labels = array('name' => _x( 'Trabajos',

'Taxonomy General Name', 'theme_name' ),'singular_name' => _x( 'Trabajo', 'Taxonomy Singular

Name', 'theme_name' ),'menu_name' => __( 'Trabajo', 'theme_name' ),'all_items' => __( 'Todos los Trabajos',

'theme_name' ),'parent_item' => __( 'Trabajo padre', 'theme_name' ),'parent_item_colon'=> __( 'Trabajo padre:', 'theme_name' ),'new_item_name' => __( 'Nuevo trabajo', 'theme_name' ),'add_new_item' => __( 'Añadir nuevo

trabajo','theme_name' ),'edit_item' => __( 'Editar trabajo', 'theme_name' ),'update_item' => __( 'Actualizar trabajo',

'theme_name' ),'view_item' => __( 'Ver trabajo', 'theme_name' ),'separate_items_with_commas'=> __( 'Separar con comas',

'theme_name' ),'add_or_remove_items' => __( 'Añadir o eliminar trabajo',

'theme_name' ),'choose_from_most_used'=> __('Elegir entre los más

comunes','theme_name'),'popular_items' => __( 'Trabajos populares',

'theme_name' ),

'search_items' => __( 'Buscar trabajo', 'theme_name' ),'not_terms' => __( 'Sin trabajos', 'theme_name' ),'items_list' => __( 'Lista de trabajos',

'theme_name' ),'items_list_navigation'=> __( 'Sin trabajos',

'theme_name' ),'not_terms' => __( 'Sin trabajos', 'theme_name' ),););

$args = array('labels' => $labels,'hierarchical' => true,'public' => true,'show_ui' => true,'show_in_rest' => true,'show_admin_columns' => true,'show_in_nav_menus' => true,'show_tagcloud' => false,

);register_taxonomy( 'task', array( 'job_offer' ), $args );

}

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

} // end if function_exists

<h1>Bola extra</h1><h2>PLUGIN: ACF</h2>

Advanced Custom Fields for WordPress Developershttps://wordpress.org/plugins/advanced-custom-fields/

<h1>Bola extra</h1><h2>PLUGIN: ACF</h2>

Partida gratis “Device Push”

No sé qué quieres poner aquí

<h1>Dudas, preguntas, reflexiones varias</h1>

Siempre nos quedará…GOOGLE

top related