CPT-TXN Libros

Descripción
Campos personalizados y Taxonomías para libros Código
<?php
/*
Plugin Name: personalizaciones
Plugin URI: https://cuidarwp.com
Description: Creates the initial post types when 'init' action is fired.
Author: vamez
Author URI: https://cuidarwp.com
*/

/*
 * 
 * dashicon: https://developer.wordpress.org/resource/dashicons/#excerpt-view
 * 
 */

function va_crear_ctp_libro() {

    $etiquetas = array(
                'name'               => _x( 'Libros', 'nombre en general', 'personalizaciones' ),
                'singular_name'      => _x( 'Libro', 'nombre en singular', 'personalizaciones' ),
                'menu_name'          => _x( 'Libros', 'nombre del menú admin', 'personalizaciones' ),
                'name_admin_bar'     => _x( 'Libro', 'Añadir nuevo nombre a la barra de admin', 'personalizaciones' ),
                'add_new'            => _x( 'Añadir Nuevo', 'Añadir Nuevo', 'personalizaciones' ),
                'add_new_item'       => __( 'Añadir Nuevo Libro', 'personalizaciones' ),
                'new_item'           => __( 'Nuevo Libro', 'personalizaciones' ),
                'edit_item'          => __( 'Editar Libro', 'personalizaciones' ),
                'view_item'          => __( 'Ver Libro', 'personalizaciones' ),
                'all_items'          => __( 'Todos los Libros', 'personalizaciones' ),
                'search_items'       => __( 'Buscar Libros', 'personalizaciones' ),
    			'parent_item_colon'	 => __( 'Libro Padre: ', 'post type general name', 'personalizaciones' ),
                'not_found'          => __( 'No se ha encontrado el libro.', 'personalizaciones' ),
                'not_found_in_trash' => __( 'No hay libros en la papelera.', 'personalizaciones' ),
    );

    $opt = 	array(
    		'public'				=> true,
    		'label'					=> 'Libros',
    		'labels'				=> $etiquetas,
            'exclude_from_search'	=> false, //excluir de las búsquedas
    		'menu_position'			=> 9,
    		'menu_icon'				=> 'dashicons-book',
    		'has_archive'			=> true
            );

    register_post_type('libro', $opt);
}
add_action('init', 'va_crear_ctp_libro');


/*
Plugin Name: personalizaciones
Plugin URI: https://cuidarwp.com
Description: Creates the initial taxonomies post types when 'init' action is fired.
Author: vamez
Author URI: https://cuidarwp.com
*/

/**
* 
* Crea taxonomías
* https://developer.wordpress.org/reference/functions/register_taxonomy/
*
*/

function va_crear_genero() {
    
    $etiquetas = array(
                'name'               => _x( 'Géneros', 'nombre en general' ),
                'singular_name'      => _x( 'Género', 'nombre en singular' ),
                'search_items'       => __( 'Buscar Géneros' ),
    			'all_items'          => __( 'Todas las 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 Nueva Género' ),
                'new_item_name'      => __( 'Nuevo Nombre de  Género' ),
                'menu_name'          => __( 'Género', 'Añadir Nuevo' ),
    );

    $opt = 	array(
        'hierarchical'     	=> true, // combierte la etiqueta en categoría
    	'show_admin_column'	=> true,
        'labels'			=> $etiquetas,
    );
 
    register_taxonomy('genero',array('libro'), $opt);
}
add_action('init', 'va_crear_genero');

/**
* 
* Crea taxonomías
* https://developer.wordpress.org/reference/functions/register_taxonomy/
*
*/

function va_crear_autores() {
    
    $etiquetas = array(
                'name'               => _x( 'Autores', 'nombre en general' ),
                'singular_name'      => _x( 'Autor', 'nombre en singular' ),
                'search_items'       => __( 'Buscar Autores' ),
    			'all_items'          => __( 'Todas las Autores' ),
        		'parent_item'		 => __( 'Autor Padre' ),
        		'parent_item_colon'	 => __( 'Autor Padre: ' ),
    			'edit_item'          => __( 'Editar Autor' ),
    			'update_item'        => __( 'Actualizar Autor' ),
                'add_new_item'       => __( 'Añadir Nueva Autor' ),
                'new_item_name'      => __( 'Nuevo Nombre de  Autor' ),
                'menu_name'          => __( 'Autor', 'Añadir Nuevo' ),
    );

    $opt = 	array(
        'hierarchical'     	=> true, // combierte la etiqueta en categoría
    	'show_admin_column'	=> true,
        'labels'			=> $etiquetas,
    );
 
    register_taxonomy('autor',array('libro'), $opt);
}
add_action('init', 'va_crear_autores');