Creazione di post personalizzati in WordPress (tipi di post personalizzati)

Sommario
Molte volte come sviluppatori abbiamo bisogno di creare contenuti personalizzati o alcune funzionalità in modo organizzato e registrare i nostri valori e campi che Wordpress non ha per impostazione predefinita, è anche importante che sia riutilizzabile.
Cerco nella directory dei template il file functions.php, qui per esempio all'interno del template Twenty ten.

All'interno del file cerchiamo se la funzione esiste add_theme_support ('post-miniature') che è quello che consente l'uso delle immagini in miniatura, se non lo è, lo aggiungerò e aggiungerò anche una variabile per una dimensione specifica.

In questo caso il modello ha già il supporto per le miniature, quindi aggiungo solo la mia dimensione personalizzata.
Ciò significa che quando assegni il pollice della proprietà a un'immagine, questa verrà automaticamente ridimensionata a 80 pixel di larghezza per 80 pixel di altezza.
Iniziamo a creare la funzionalità per questo, è meglio separare il codice, potrebbe metterlo alla fine del file functions, ma per lavorare in modo più ordinato lo metteremo in una directory Componenti (modifica)
dove creeremo un file chiamato real estate.php, quindi abbiamo il componente separato.
 _x ('Immobiliare', 'nome generico tipo post'), 'singular_name' => _x ('Immobiliare', 'nome singolare tipo articolo'), 'add_new' => _x ('Nuovo immobile', 'immobiliare' estate'), 'add_new_item' => __ ("Nuova proprietà"), 'edit_item' => __ ("Modifica proprietà"), 'new_item' => __ ("Nuova proprietà"), 'view_item' => __ ( "Visualizza proprietà" ), 'search_items' => __ ("Cerca proprietà"),' not_found '=> __ ('Nessuna proprietà trovata'),' not_found_in_trash '=> __ ('Nessuna proprietà '),' parent_item_colon '= >' '); // Creo gli argomenti per il database $ inmobiliaria_args = array ('labels' => $ inmobiliaria_labels, 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'query_var' => true , 'rewrite' => true, 'hierarchical' => false, 'menu_position' => null, 'capability_type' => 'post', 'supports' => array ('title', 'estratto', 'editor', ' miniatura'), 'menu_icon' => get_bloginfo ('template_directory'). '/images/photo-album.png.webp' // 16x16 png se vuoi un'icona); // Registra il post register_post_type ('inmobiliaria', $ inmobiliaria_args); ?> var13 -> 

Quindi lo includiamo nel file functions.php alla fine o in una sezione per i componenti, in questo caso lo mettiamo insieme alle altre configurazioni.

Entriamo nel nostro amministratore wordpress, nel caso sia attivo dovremmo aggiornare o chiudere la sessione e rientrare per aggiornare le modifiche apportate al file functions.php, che è quello che invoca il componente.
Come possiamo vedere, è stato aggiunto un nuovo me immobiliare, per poter gestire i nostri dati per questo componente di post personalizzato.

Creeremo anche alcune categorie o tassonomie in modo che la nostra applicazione sia più completa. Ad esempio il tipo di immobile, casa, appartamento, ecc e un altro per le province, per questo nel file immobiliare sottostante aggiungeremo il seguente codice, ogni blocco è una categoria e potremmo creare quelli che vogliamo.
 true, 'label' => 'Tipi di proprietà', 'singular_label' => 'Tipo', 'rewrite' => true)); }?> var13 -> true, 'label' => 'Province', 'singular_label' => 'provincia', 'rewrite' => true)); }?> var13 -> 

Quindi durante l'aggiornamento del nostro amministratore di wordpress possiamo vedere entrambe le categorie nel menu immobiliare.

Elencare i nostri dati
Le voci wordpress e la pagina in amministratore hanno sempre gli stessi dati di titolo, autore e data, in questo caso bisogna elencare i dati della componente immobiliare. Per questo personalizzeremo le colonne della lista
 '', 'title' => 'Title', 'photo' => 'Foto', 'type' => 'Tipo proprietà', 'provincia' => 'Provincia', 'date' => 'Data',); restituisce colonne $; }?> var13 -> 

Dopo aver indicato i titoli e il tipo di colonne che verranno visualizzate, procediamo con l'assegnazione dei dati dalle query che effettueremo nel database e assegniamo i dati a ciascuna colonna, in questo caso cerchiamo le categorie con la funzione wordpress get_the_term_list ( ).
 ID, 'tipo', '', ',', ''); rompere; case 'provincia': echo get_the_term_list ($ post-> ID, 'provincia', '', ',', ''); rompere; }} // aggiungi immagini in miniatura alla colonna add_filter ('manage_posts_columns', 'showphoto', 5); add_filter ('manage_pages_columns', 'showphoto', 5); add_filter ('manage_custom_post_columns', 'showphoto', 5); // Aggiungi la funzione di colonna showphoto ($ cols) {$ cols ['photo'] = __ ('Thumbnail'); restituisce $ cols; }?> var13 -> 

Nel caso dell'immagine, creiamo una funzione per cercare la foto e aggiungerla a custom_post_columns Se vogliamo possiamo anche aggiungerlo per essere supportato per post e pagine, a parte il nostro componente, altrimenti rimuoviamo quelle righe.
<? // aggiungi immagini in miniatura alla colonna
add_filter ('manage_posts_columns', 'showphoto', 5);
add_filter ('manage_pages_columns', 'showphoto', 5);
add_filter ('manage_custom_post_columns', 'showphoto', 5);
// Aggiungi la colonna
funzione showphoto ($ cols) {
$ cols ['foto'] = __ ('Miniatura');
restituisce $ cols;
}
?>
Salviamo il file real estate.php in cui abbiamo apportato queste modifiche e aggiornato la pagina dell'amministratore di wordpress. Testeremo la nostra applicazione registrando una proprietà, per questo registreremo in precedenza le categorie Tipi di proprietà: Casa, Appartamento, Terreno, ecc.
Quindi registreremo alcune province Barcellona, ​​​​Madrid, ecc.
Poi andiamo al menu Proprietà> Nuova proprietà e registriamo i dati come una normale voce wordpress, solo noi avremo la categoria e un'immagine o una foto da inserire come immagine in evidenza.

Ricorda che le immagini saranno dimensionate a 80 x 80 pixel per l'elenco delle proprietà, l'abbiamo definito nella nostra dimensione personalizzata immobiliare-pollice, quindi la cosa migliore è che usiamo immagini quadrate in modo che non vengano tagliate, l'ideale sarebbe 500x500 pixel.
Quindi al momento del salvataggio delle modifiche potremo andare a visualizzare l'elenco degli immobili e vedremo le nostre colonne personalizzate, con tutte le funzionalità attivate per cercare, filtrare, ordinare alfabeticamente o vedere solo qualche provincia, ecc.

Questo sarà molto facile da amministrare e possiamo anche aggiungere più funzionalità se abbiamo bisogno di modificare il tipo di post personalizzato o il tipo di post personalizzato. Per quanto riguarda il riutilizzo, il componente è ottimale, poiché se vogliamo utilizzarlo in un altro progetto, copiamo semplicemente il tipo di post personalizzato, lo includiamo nel nostro file functions.php e lo avremo a disposizione per l'uso senza doverlo riprogrammare.
Poi con un semplice codice possiamo mostrarlo in home page o in una sezione del nostro sito, ricercare per provincia o per tipologia di immobile.
Possiamo anche estendere il componente aggiungendo più funzionalità o integrandolo con altri plugin, ad esempio per implementarlo in più lingue con Qtraduttore o aggiungi più immagini Immagini multiple in primo piano per avere più immagini in evidenza e creare una galleria fotografica per ogni immobile.
La modifica di alcune linee potrebbe essere utilizzata anche per un'agenzia di veicoli dove le categorie erano marche e modelli di veicoli o per un'agenzia di viaggi dove avremmo pacchetti e destinazioni, le possibilità sono infinite, tutto dipende dalle esigenze e dalla nostra fantasia.
wave wave wave wave wave