Creare Custom Post Type in WordPress

Vi sarà capitato più volte, magari sviluppando un tema per un cliente, di avere la necessità di aggiungere un post type a quelli predefiniti (post, page, ecc…).

Esistono vari plugin in grado di svolgere la suddetta operazione, ma anche un modo molto semplice da codice, che ci permetterà di avere il nostro post type personalizzato, senza installare plugin, di conseguenza senza appesantire il caricamento delle pagine del nostro blog/sito.

Per definire il nostro nuovo tipo di articolo personalizzato ricorreremo all’utilizzo della funzione register_post_type();.

Immaginiamo di dover definire un nuovo tipo di post nei quali scriveremo recensioni di film.

Apriamo il file functions.php del nostro tema ed aggiungiamo le seguenti  righe:

 

class cpt_film { 	function cpt_film() { 		// Inizializzazione della funzione 		add_action( 'init', array( $  this, 'create_post_type' ) ); 	} 	// Registrazione del Post Type 	function create_post_type() { 		// Etichette del Post Type 		$  labels = array( 			// Nome plurale del post type 			'name' => _x( 'Film', 'Post Type General Name', 'domain-name' ), 			// Nome singolare del post type 			'singular_name' => _x( 'Film', 'Post Type Singular Name', 'domain-name' ), 			// Testo per pulsante Aggiungi 			'add_new' => __( 'Aggiungi Nuovo Film', 'domain-name' ), 			// Testo per pulsante Tutti gli articoli 			'all_items' => __( 'Tutti i film', 'domain-name' ), 			// Testo per pulsante Aggiungi nuovo articolo 			'add_new_item' => __( 'Aggiungi Nuovo Film', 'domain-name' ), 			// Testo per pulsante Modifica 			'edit_item' => __( 'Modifica Film', 'domain-name' ), 			// Testo per pulsante Nuovo 			'new_item' => __( 'Nuovo Film', 'domain-name' ), 			// Testo per pulsante Visualizza 			'view_item' => __( 'Visualizza Film', 'domain-name' ), 			// Testo per pulsante Cerca articoli 			'search_items' => __( 'Cerca Film', 'domain-name' ), 			// Testo per nessun articolo trovato 			'not_found' => __( 'Nessun film trovato', 'domain-name' ), 			// Testo per nessun articolo trovato nel cestino 			'not_found_in_trash' => __( 'Nessun film trovato nel cestino', 'domain-name' ), 			// Testo per articolo genitore 			'parent_item_colon' => __( 'Film genitore:', 'domain-name' ), 			// Testo per Menù 			'menu_name' => __( 'Film', 'domain-name' ) 		); 		$  args = array( 			'labels' => $  labels, 			// Descrizione 			'description' => 'Gli articoli visibili in Film', 			// Rende visibile o meno da front-end il post type 			'public' => true, 			// Esclude o meno il post type dai risultati di ricerca 			'exclude_from_search' => true, 			// Rende richiamabile o meno da front-end il post type tramite una query 			'publicly_queryable' => true, 			// Rende disponibile l'interfaccia grafica del post type da back-end 			'show_ui' => true, 			// Rende disponibile o meno il post type per il menù di navigazione 			'show_in_nav_menus' => true, 			// Definisce dove sarà disponibile l'interfaccia grafica del post type nel menù di amministrazione 			'show_in_menu' => true, 			// Rende disponibile o meno il post type per l'admin bar di wordpress 			'show_in_admin_bar' => true, 			// La posizione nel menù 			'menu_position' => 20, 			// L'icona del post type nel menù 			'menu_icon' => 'dashicons-video-alt', 			// I permessi che servono per editare il post type 			'capability_type' => 'post', 			// Definisce se il post type è gerarchico o meno 			'hierarchical' => true, 			// I meta box che il post type supporta nell'interfaccia di editing 			'supports' => array( 'title', 'editor', 'page-attributes' ), 			// Le tassonomie supportate dal post type 			'taxonomies' => array( 'category' ), 			// Definisce se il post type ha o meno un archivio 			'has_archive' => true, 			// Imposta lo slug del post type 			'rewrite' => array( 'slug' => 'film', 'with_front' => false ), 		);                 // Registra il Custom Post Type 		register_post_type( 'cpt_film', $  args ); 	} } // Istanzia l'oggetto che crea il Custom Post Type $  film = new cpt_film();

 

A questo punto il nostro Custom Post Type sarà disponibile nella back-end della nostra installazione di WordPress.

 

cpt-screenshot

 

Nel seguente articolo Come creare una Custom Taxonomy chiamata Genere da associare al Custom Post Type Film creato ora.

Baty’s Base


Stai cercando prodotti per l’hacking, la sicurezza informatica e il penetration testing? Hai bisogno di bonificare il tuo smartphone, il tuo pc o il tuo sito da virus e malware? Devi rintracciare una persona o recuperare delle informazioni urgenti? Devi riprendere possesso di un account, una mail o di una password che ti hanno sottratto? Vuoi acquistare device già configurati per sperimentare tutte le tecniche di hacking in modo facile e veloce? Hai esigenze particolari in ambito software o hardware? Possiamo aiutarti!

Contattaci subito per avere un aiuto immediato : dettagliaci tramite mail o Whatsapp che tipo di supporto ti occorre e ti invieremo un riscontro immediato!

Compila e invia il modulo qui sotto per inviarci subito una richiesta di supporto

Scrivi il tuo indirizzo email qui

Scrivi qui come possiamo aiutarti - ti supportiamo immediatamente per ogni tua esigenza!

chevron_left
chevron_right