Skapa anpassade inlägg i WordPress (anpassade inläggstyper)

Innehållsförteckning
Många gånger som utvecklare behöver vi skapa personligt anpassat innehåll eller någon funktionalitet på ett organiserat sätt och registrera våra egna värden och fält som Wordpress inte har som standard, det är också viktigt att det kan återanvändas.
Jag letar i mallkatalogen efter filen functions.php, här till exempel i tjugotio -mallen.

Inne i filen tittar vi om funktionen finns add_theme_support ('post-thumbnails') som är den som tillåter användning av miniatyrbilder, om det inte är det, lägger jag till det och jag kommer också att lägga till en variabel för en specifik storlek.

I det här fallet har mallen redan stöd för miniatyrbilder så jag lägger bara till min anpassade storlek.
Det betyder att när du tilldelar egendom-tum till en bild kommer den automatiskt att dimensioneras till 80 pixlar bred och 80 pixlar hög.
Vi börjar skapa funktionaliteten för detta, det är bättre att separera koden, den kan placeras i slutet av funktionsfilen, men för att fungera mer ordnat lägger vi den i en katalog Komponenter (redigera)
där vi kommer att skapa en fil som heter real estate.php, så vi har den separata komponenten.
 _x ('Fastigheter', 'allmänt namn för posttyp'), 'singular_name' => _x ('Fastigheter', 'posttyp singular name'), 'add_new' => _x ('New fastigheter', 'real egendom '),' add_new_item '=> __ ("Ny egendom"),' edit_item '=> __ ("Redigera egendom"),' new_item '=> __ ("Ny egendom"),' view_item '=> __ ( "Visa egendom"), 'search_items' => __ ("Sök egendom"), 'not_found' => __ ('Ingen egendom hittades'), 'not_found_in_trash' => __ ('Ingen egenskap'), 'parent_item_colon' = > ''); // Jag skapar argumenten för databasen $ 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 ('titel', 'utdrag', 'redaktör', ' thumbnail '),' menu_icon '=> get_bloginfo (' template_directory ').' /images/photo-album.png.webp '// 16x16 png om du vill ha en ikon); // Registrera posten register_post_type ('inmobiliaria', $ inmobiliaria_args); ?> var13 -> 

Sedan inkluderar vi den i filen functions.php i slutet eller i ett avsnitt för komponenterna, i det här fallet sätter vi ihop den med de andra konfigurationerna.

Vi kommer att ange vår wordpress-administratör, om den är aktiv bör vi uppdatera eller stänga sessionen och skriva in igen för att uppdatera de ändringar som gjorts i filen functions.php, som är den som åberopar komponenten.
Som vi kan se har en ny fastighets mig lagts till för att kunna hantera vår egen data för denna anpassade inläggskomponent.

Vi kommer också att skapa vissa kategorier eller taxonomier så att vår ansökan blir mer komplett. Till exempel typ av fastighet, hus, lägenhet etc. och en annan för provinser. För detta, i fastighetsfilen nedan lägger vi till följande kod, varje block är en kategori och vi kan skapa de vi vill ha.
 true, 'label' => 'Egenskapstyper', 'singular_label' => 'Typ', 'rewrite' => true)); }?> var13 -> true, 'label' => 'Provinser', 'singular_label' => 'provins', 'rewrite' => true)); }?> var13 -> 

När vi sedan uppdaterar vår wordpress -administratör kan vi se båda kategorierna i fastighetsmenyn.

Lista våra egna data
Wordpress -posterna och sidan i administratören har alltid samma titel, författare och datumdata, i det här fallet måste vi lista uppgif.webpterna för fastighetskomponenten. För detta kommer vi att anpassa kolumnerna i listan
 '', 'title' => 'Titel', 'photo' => 'Foto', 'type' => 'Egenskapstyp', 'provincie' => 'Provins', 'date' => 'Datum',); returnera $ kolumner; }?> var13 -> 

Efter att ha angett titlarna och typen av kolumner som ska visas fortsätter vi att tilldela data från frågor som vi kommer att utföra i databasen och tilldela data till varje kolumn, i det här fallet söker vi i kategorierna med wordpress -funktionen get_the_term_list ().
 ID, 'typ', '', ',', ',' '); ha sönder; case 'province': echo get_the_term_list ($ post-> ID, 'province', '', ',', ''); ha sönder; }}} // lägg till miniatyrbilder i kolumnen add_filter ('manage_posts_columns', 'showphoto', 5); add_filter ('manage_pages_columns', 'showphoto', 5); add_filter ('manage_custom_post_columns', 'showphoto', 5); // Lägg till kolumnfunktionen showphoto ($ cols) {$ cols ['photo'] = __ ('Thumbnail'); returnera $ cols; }?> var13 -> 

När det gäller bilden skapar vi en funktion för att söka efter fotot och lägga till det i anpassade_post_kolumner Om vi ​​vill kan vi också lägga till det som stöds för inlägg och sidor, förutom vår komponent, annars tar vi bort dessa rader.
<? // lägg till miniatyrbilder i kolumnen
add_filter ('manage_posts_columns', 'showphoto', 5);
add_filter ('manage_pages_columns', 'showphoto', 5);
add_filter ('manage_custom_post_columns', 'showphoto', 5);
// Lägg till kolumnen
funktion showphoto ($ cols) {
$ cols ['photo'] = __ ('Thumbnail');
returnera $ cols;
}
?>
Vi sparar fastigheten.php -filen där vi gjorde dessa ändringar och uppdaterade wordpress -administratörssidan. Vi kommer att testa vår ansökan genom att registrera en fastighet, för detta kommer vi tidigare att registrera typerna av fastighetskategorier: hus, lägenhet, mark, etc.
Sedan kommer vi att registrera några provinser Barcelona, ​​Madrid, etc.
Sedan går vi till menyn Egenskaper> Ny egendom och vi registrerar data som en vanlig wordpress -post, bara vi kommer att ha kategorin och en bild eller ett foto att infoga som en utvald bild.

Kom ihåg att bilderna kommer att dimensioneras till 80 x 80 pixlar för fastighetslistan, vi hade definierat detta i vår anpassade storlek fastighets-tumme, så det bästa är att vi använder fyrkantiga bilder så att de inte klipps, det idealiska skulle vara 500x500 pixlar.
När vi sparar ändringarna kan vi gå till listan över fastigheter och vi kommer att se våra personliga kolumner, med alla funktioner aktiverade för att söka, filtrera, sortera alfabetiskt eller bara se någon provins, etc.

Detta kommer att vara mycket enkelt att administrera och vi kan också lägga till fler funktioner om vi behöver ändra den anpassade inläggstypen eller anpassade inläggstypen. När det gäller återanvändning är komponenten optimal, eftersom om vi vill använda den i ett annat projekt kopierar vi helt enkelt den anpassade inläggstypen, inkluderar den i vår functions.php -fil och vi kommer att ha den tillgänglig för användning utan att behöva programmera om den.
Sedan kan vi med en enkel kod visa detta på hemsidan eller i ett avsnitt på vår webbplats, sök efter provins eller typ av fastighet.
Vi kan också utöka komponenten genom att lägga till fler funktioner eller komplettera den med andra plugins, till exempel för att implementera den på flera språk med Qtraslator eller lägg till flera bilder Flera utvalda bilder för att ha fler utvalda bilder och skapa ett fotogalleri för varje fastighet.
Att byta vissa linjer kan också användas för en fordonsbyrå där kategorierna var fordonsmärken och modeller eller för en resebyrå där vi skulle ha paket och destinationer, möjligheterna är oändliga, allt beror på behoven och vår fantasi.
wave wave wave wave wave