Creare un custom post type è uno dei primi ostacoli in cui possiamo imbatterci quando decidiamo di creare un tema customizzato. I Custom Post Type ti permettono di ottimizzare la struttura del sito dedicando un area specifica per ogni prodotto/servizio/settore.

Ma non dilunghiamoci troppo e procediamo con il codice da utilizzare.

Il codice che troverete qui sotto dovrà essere inserita all’interno del file functions.php del vostro tema modificando la stringa theme_name con il nome del vostro tema.

function custom_service() { 

    $labels = array(
        'name'                => _x( 'Servizi', 'Post Type General Name', 'theme_name' ),
        'singular_name'       => _x( 'Servizio', 'Post Type Singular Name', 'theme_name' ),
        'menu_name'           => __( 'Servizi', 'theme_name' ),
        'all_items'           => __( 'Tutti i servizi', 'theme_name' ),
        'view_item'           => __( 'Vedi servizio', 'theme_name' ),
        'add_new_item'        => __( 'Aggiungi nuovo servizio', 'theme_name' ),
        'add_new'             => __( 'Aggiungi nuovo', 'theme_name' ),
        'edit_item'           => __( 'Modifica servizio', 'theme_name' ),
        'update_item'         => __( 'Aggiorna servizio', 'theme_name' ),
        'search_items'        => __( 'Cerca servizio', 'theme_name' ),
        'not_found'           => __( 'Nessun risultato', 'theme_name' ),
        'not_found_in_trash'  => __( 'Nessun risultato nel cestino', 'theme_name' ),
    );

    $args = array(
        'label'               => __( 'servizi', 'theme_name' ),
        'description'         => __( 'Descrizione del tuo custom post type', 'theme_name' ),
        'labels'              => $labels,
        // Il seguente campo andrà a modificare i campi che saranno visibili nell'editor del post.
        'supports'            => array( 'title', 'author', 'thumbnail', 'revisions' ),
        'hierarchical'        => false,
        'public'              => true,
        'show_ui'             => true,
        'show_in_menu'        => true,
        'show_in_nav_menus'   => true,
        'show_in_admin_bar'   => true,
        'menu_position'       => 20,
        // Menu icon sarà utile per impostare l'icona del tuo post personalizzato
	'menu_icon'           => 'dashicons-screenoptions', 
        'can_export'          => true,
        'has_archive'         => true,
        'exclude_from_search' => false,
        'publicly_queryable'  => true,
        'capability_type'     => 'page',
    );
     
    // Registering your Custom Post Type
    register_post_type( 'slider', $args );
}
add_action( 'init', 'custom_service', 0 );

Con questa soluzione potrete già iniziare ad utilizzare il vostro post type, ma se volete personalizzare ulteriormente il vostro codice vi riporto il link in riferimento alla funzione utilizzata register_post_type. Qui potrete visualizzare la guida completa per ogni campo presente nel codice.

Inoltre se vorrete cambiare l’icona visualizzata potete sceglierla nella libreria Dashicons.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *