Cosa sono i tipi di articoli personalizzati?
Gli articoli (Post) e le pagine (Page) presenti nel nucleo di WordPress rappresentano due tipi di contenuti predefiniti. Tuttavia, di fronte a esigenze più varie, come la visualizzazione di prodotti, la presentazione dei membri del team o la pubblicazione di casi di studio, questi tipi di contenuti spesso risultano insufficienti. I tipi di articoli personalizzati (Custom Post Types, CPT) sono stati creati proprio per risolvere questo problema. Essi permettono agli sviluppatori di definire nuovi tipi di contenuti caratterizzati da campi specifici, sistemi di classificazione personalizzati e interfacce di gestione dedicate, trasformando WordPress da un semplice sistema di blog in un potente sistema di gestione dei contenuti.
A differenza dell’utilizzo di campi personalizzati per estendere gli articoli standard, i CPT (Content Types) creano entità di contenuto logicamente completamente indipendenti. Ad esempio, un CPT per un “prodotto” può disporre del proprio processo di pubblicazione, della propria pagina di archiviazione e della propria pagina di informazioni dettagliate; sia la struttura dei dati che l’interfaccia di gestione back-end possono essere personalizzate in base alle caratteristiche specifiche di quel prodotto. Questo aumenta notevolmente la chiarezza e la professionalità nella gestione dei contenuti, fornendo inoltre una base solida per l’implementazione di strutture web complesse.
Come creare un tipo di articolo personalizzato?
In WordPress, esistono due principali metodi per creare tipi di articoli personalizzati: registrandoli tramite codice o utilizzando plugin visualizzativi. Per gli sviluppatori che cercano il massimo delle prestazioni e un controllo totale, la scelta migliore è quella di scrivere il codice personalmente.
Si consiglia di leggere Guida completa all’ottimizzazione delle prestazioni di WordPress: dalle configurazioni di base all’accelerazione del caching avanzata。
Registrare un CPT (Content Provider Type) tramite codice.
Il metodo più fondamentale è l’utilizzo di… register_post_type Funzioni: I sviluppatori devono utilizzare queste funzioni all’interno del tema. functions.php Questa funzione può essere chiamata da un file o da un plugin funzionale indipendente. Tramite l’invio di un identificatore unico (slug) e di un array contenente diversi parametri, è possibile definire tutti gli attributi di un nuovo tipo di articolo: l’etichetta, il livello di visibilità, le funzionalità supportate, gli icona dei menu, e molto altro ancora.
Ecco un esempio classico per la creazione di un tipo di articolo personalizzato chiamato “Prodotto”:
function create_product_post_type() {
$labels = array(
'name' => '产品',
'singular_name' => '产品',
'add_new' => '添加新产品',
'add_new_item' => '添加新产品',
'edit_item' => '编辑产品',
'new_item' => '新产品',
'view_item' => '查看产品',
'search_items' => '搜索产品',
'not_found' => '未找到产品',
'not_found_in_trash' => '回收站中没有产品',
'menu_name' => '产品',
);
$args = array(
'labels' => $labels,
'public' => true,
'publicly_queryable' => true,
'show_ui' => true,
'show_in_menu' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'product' ),
'capability_type' => 'post',
'has_archive' => true,
'hierarchical' => false,
'menu_position' => 5,
'menu_icon' => 'dashicons-cart',
'supports' => array( 'title', 'editor', 'thumbnail', 'excerpt', 'custom-fields' ),
);
register_post_type( 'product', $args );
}
add_action( 'init', 'create_product_post_type' ); Utilizzare un plugin per creare un CPT (Content Production Template).
Per gli utenti non esperti di codice, plugin come “Custom Post Type UI” o “Toolset Types” offrono un’interfaccia grafica per creare e gestire i tipi di post personalizzati (Custom Post Types, CPT). Basta compilare i formulari nell’area di amministrazione, impostare le varie opzioni e il plugin genererà automaticamente il codice necessario per l’ registrazione dei nuovi tipi di post. Questo approccio è efficiente e veloce, ma può comportare l’aggiunta di dipendenze aggiuntive e un aumento dei costi in termini di prestazioni del sito. Al momento della scelta, è quindi importante considerare la manutenzione del plugin nonché le esigenze a lungo termine del progetto.
Creare archivi personalizzati e template per singole pagine per CPT (Custom Product Templates).
Dopo aver registrato un nuovo tipo di articolo personalizzato, WordPress cercherà di utilizzare i file di template corrispondenti presenti nel tema per visualizzarne il contenuto. Seguendo le regole di gerarchia dei template di WordPress, è possibile creare template specifici per controllare in modo preciso l’aspetto visivo di tali articoli.
Template personalizzato per la pagina di archiviazione
Per creare la pagina di archiviazione dei CPT (Product Catalogue Terms) relativi ai “prodotti” (ovvero la pagina che elenca tutti i prodotti), è necessario creare un file con il nome “products-archive.php” all’interno della directory del tema. archive-product.php Il file in questione contiene informazioni relative ai prodotti, dove “product” rappresenta il nome utilizzato durante la registrazione di un CPT (Custom Post Type). All’interno di questo file, è possibile utilizzare i cicli (loops) standard di WordPress per ottenere e visualizzare tutti gli articoli di tipo “prodotto”.
Si consiglia di leggere Il manuale definitivo per l’ottimizzazione delle prestazioni dei siti WordPress: dalla velocizzazione del caricamento ai metodi pratici per l’utilizzo della cache。
// archive-product.php 示例片段
<header class="page-header">
<h1 class="page-title">I nostri prodotti</h1>
</header>
<div class="products-grid">
<?php while ( have_posts() ) : the_post(); ?>
<article id="post-<?php the_ID(); ?>" no numeric noise key 1008>
<a href="/it/</?php the_permalink(); ?>">
<?php the_post_thumbnail( 'medium' ); ?>
<h2><p><strong>Questo testo verrà sostituito dal titolo dell'articolo corrente.</strong></p></h2>
</a>
<div class="entry-excerpt">
<?php the_excerpt(); ?>
</div>
</article>
<?php endwhile; ?>
</div>
<p>Non sono disponibili prodotti.</p>
<?php endif; ?> Template personalizzato per un singolo articolo
Allo stesso modo, per creare una pagina di dettagli per un singolo “prodotto”, è necessario creare il relativo modello. single-product.php File: Questo modello viene utilizzato per visualizzare l’intero contenuto di un singolo articolo sul “prodotto”; è possibile inserire qui tutti i campi personalizzati aggiunti nell’editor di articoli.
// single-product.php 示例片段
<article id="post-<?php the_ID(); ?>" no numeric noise key 1005>
<header class="entry-header">
<h1 class="entry-title"><p><strong>Questo testo verrà sostituito dal titolo dell'articolo corrente.</strong></p></h1>
<div class="product-meta">
<span>价格:</span>
<span>SKU:</span>
</div>
</header>
<div class="entry-content">
<p><strong>Questo testo è stato tradotto automaticamente. Se desideri una traduzione corretta, contattaci.</strong></p>
</div>
</article>
<?php endwhile; ?> Applicazioni avanzate e ottimizzazione delle prestazioni di CPT
Quando il tuo sito web contiene diversi tipi di articoli personalizzati e una grande quantità di dati, diventa fondamentale prestare attenzione alle sue funzionalità avanzate e alle sue prestazioni. Ciò implica l’utilizzo di query personalizzate, il collegamento dei dati tra loro nonché l’applicazione di tecniche di ottimizzazione.
Utilizzare WP_Query per eseguire query personalizzate
Sebbene il ciclo principale di WordPress gestisca automaticamente le query relative ai contenuti personalizzati (CPT – Custom Post Types), nelle barre laterali, nei blocchi di contenuti speciali e in altri contesti è spesso necessario eseguire query personalizzate. In questi casi, è consigliabile utilizzare… WP_Query Classe, e attraverso di essa… post_type I parametri specificano il CPT (Cost Code Term) da cercare.
// 查询最新 3 个“产品”
$product_query = new WP_Query( array(
'post_type' => 'product',
'posts_per_page' => 3,
'orderby' => 'date',
'order' => 'DESC',
) );
if ( $product_query->have_posts() ) {
while ( $product_query->have_posts() ) {
$product_query->the_post();
// 输出产品信息
}
wp_reset_postdata(); // 重置查询数据
} Associa i CPT (Code for Procedures in Medicine) con la classificazione personalizzata.
Per organizzare i contenuti CPT in modo più dettagliato, è possibile creare una classificazione personalizzata. Ad esempio, per un CPT relativo a un “prodotto”, si possono creare le categorie “Categoria del prodotto” e “Tag del prodotto”. Per farlo, è necessario utilizzare… register_taxonomy Funzione, e durante la registrazione viene utilizzata per… object_type I parametri lo associano al codice CPT (“Product Category Code”) relativo ai prodotti. Questo permette di classificare i prodotti in modo multidimensionale, proprio come avviene con le categorie e le etichette degli articoli, e di generare pagine di archiviazione relative a ciascuna categoria.
Ottimizzare le prestazioni di CPT
Con l’aumento della quantità di dati, le query effettuate tramite CPT (Content Performance Tools) potrebbero influenzare la velocità del sito web. Le principali misure di ottimizzazione includono:
1. Utilizzare in modo appropriato l’API Transients per memorizzare i risultati delle query: Per le liste di prodotti (CPT) che non cambiano frequentemente (ad esempio, i prodotti più popolari), è possibile memorizzare i risultati delle query in cache.
2. Assicurarsi che siano presenti gli indici nel database: per i campi di query più utilizzati da CPT (ad esempio…) post_type, meta_value La creazione di indici (ad esempio, per nomi, date, ecc.) può migliorare notevolmente l’efficienza delle ricerche.
3. Utilizzo della paginazione e del caricamento differito: Per le pagine di archiviazione contenenti un gran numero di dati, è essenziale abilitare la funzione di paginazione. Per risorse come le immagini, si consiglia di utilizzare tecniche di caricamento differito (lazy loading).
4. Evitare di eseguire più query al database all’interno di un ciclo: in particolare, è necessario evitare di effettuare chiamate al database all’interno del ciclo stesso. get_post_meta Per ottenere un gran numero di campi personalizzati tramite funzioni come queste, è consigliabile cercare di recuperare tutti i metadati necessari in una sola volta.
Riassumendo
I tipi di articolo personalizzati in WordPress rappresentano la base fondamentale per costruire siti web professionali e complessi. Essi superano i limiti degli articoli e delle pagine predefiniti, permettendoci di creare sistemi di gestione e visualizzazione indipendenti e completi per qualsiasi tipo di contenuto (come prodotti, casi di studio, membri del team, ecc.). register_post_type La creazione di funzioni o plugin avviene in base ai livelli di template disponibili, al fine di generare elementi personalizzati e adatti alle esigenze specifiche dell’ambiente di utilizzo. archive-{slug}.php 和 single-{slug}.php Dai modelli all’utilizzo effettivo… WP_Query Eseguire query avanzate e associarle a sistemi di classificazione personalizzati offre agli sviluppatori una notevole capacità di modellazione dei contenuti. Inoltre, l’implementazione di meccanismi di cache, indici e ottimizzazione delle query garantisce un buon funzionamento anche quando si costruiscono siti di grandi dimensioni utilizzando CPT. Conoscere CPT significa aver sfruttato appieno il potenziale di WordPress come sistema di gestione dei contenuti (CMS) maturo.
Si consiglia di leggere Partendo da zero: una guida completa e le migliori pratiche per creare un blog personale con WordPress.。
FAQ - Domande frequenti
Qual è la differenza tra i tipi di articoli personalizzati e i campi personalizzati?
I tipi di articolo personalizzati (Custom Post Types, CPT) rappresentano nuovi tipi di contenuto che dispongono di un menu amministrativo dedicato, di tabelle di dati e di strutture logiche proprie, ideali per definire entità centrali come “prodotti” o “eventi”.
I campi personalizzati (Custom Fields o Meta Boxes) sono strumenti utilizzati per aggiungere attributi o informazioni aggiuntive a tipi di contenuto esistenti (come articoli, pagine o CPT – Custom Post Types). Ad esempio, è possibile aggiungere campi come “Prezzo” o “Colore” a un CPT relativo a un “Prodotto”. Il CPT definisce “cosa” rappresenta, mentre i campi personalizzati descrivono “quali sono gli attributi” di quel tipo di contenuto.
Qual è il modo migliore per registrare un CPT (Custom Post Type) sia nel file functions.php del tema che in un plugin indipendente?
Per i CPT (Custom Post Types) specifici del progetto e strettamente correlati al design del tema attuale, è consigliabile posizionarne il codice all’interno del file di configurazione del tema stesso. functions.php È fattibile.
Tuttavia, la pratica migliore consiste nel creare un plugin funzionale separato per contenere il codice di registrazione del CPT (Custom Post Type). Il vantaggio di questo approccio è che, quando si cambia tema, il CPT non verrà perso insieme ai suoi dati, garantendo così la persistenza e l’indipendenza del contenuto del sito web, in linea con il principio della separazione delle responsabilità (Separation of Concerns).
Come aggiungere nuove funzionalità di supporto a un tipo di articolo personalizzato esistente?
Puoi utilizzare… add_post_type_support Esistono funzioni per aggiungere supporto a funzionalità ai CPT (Custom Product Types) già registrati. Ad esempio, se si desidera aggiungere la funzionalità della “sinossi” a un CPT “product” che in precedenza non la supportava, è possibile farlo modificando il file di configurazione del tema (theme file). functions.php Oppure aggiungete il seguente codice al plugin:
add_action( 'init', 'add_excerpt_support_for_product' );
function add_excerpt_support_for_product() {
add_post_type_support( 'product', 'excerpt' );
} Come funziona il percorso permanente (Permalink) per gli articoli di tipi personalizzati?
Durante la registrazione del CPT, è necessario seguire le istruzioni fornite. rewrite È possibile impostare la struttura dei collegamenti per i parametri. Ad esempio… 'rewrite' => array( 'slug' => 'product' ) Il link della pagina del tuo prodotto apparirà in questo formato: yourdomain.com/product/some-product/Il link alla pagina di archiviazione è solitamente… yourdomain.com/product/。
Dopo aver registrato il CPT (Custom Post Type), assicurati di visitare la pagina “Impostazioni” -> “Collegamenti fissi” nel pannello di controllo di WordPress. Non è necessario eseguire alcuna operazione particolare: basta semplicemente cliccare sul pulsante “Salva modifiche”. Questo aggiornerà le regole di rimappatura dei collegamenti, garantendo che i tuoi collegamenti personalizzati siano effettivamente attivi.
Come è possibile cercare il contenuto di più tipi di articoli personalizzati?
In uso WP_Query Durante l’esecuzione della query, verrà… post_type Basta impostare i parametri come un array per poter effettuare ricerche simultanee su più CPT (Componenti di Pubblicità).
$multi_cpt_query = new WP_Query( array(
'post_type' => array( 'post', 'product', 'portfolio' ),
'posts_per_page' => 10,
) ); Questo è molto utile per creare una sezione della pagina “Ultime notizie” che includa articoli di blog, prodotti e casi di studio.
Il prossimo passo, cosa dovremo fare dopo?
Per una lettura approfondita e conoscenza pratica
I seguenti contenuti sono correlati all'argomento di questo articolo e sono adatti per una lettura approfondita. È consigliabile iniziare con l'articolo più vicino al tuo problema attuale, per poi passare gradualmente agli argomenti correlati, il che di solito dà risultati migliori.
- WooCommerce: Guida completa all’uso in cinese per iniziare da zero la creazione del tuo negozio online
- La guida definitiva per la creazione di un sito web: dall'ideazione alla pubblicazione, con una spiegazione dettagliata dei processi e delle tecnologie chiave.
- Guida pratica all'ottimizzazione SEO: interpretazione completa della strategia, dalle basi all'avanzato.
- Perché scegliere WooCommerce per costruire il tuo negozio online?
- 7 consigli per plugin WordPress che migliorano le prestazioni del sito web