Aangepaste berichten maken in WordPress (Aangepaste berichttypen)

Inhoudsopgave
Vaak moeten we als ontwikkelaars gepersonaliseerde inhoud of een bepaalde functionaliteit op een georganiseerde manier maken en onze eigen waarden en velden registreren die Wordpress niet standaard heeft, het is ook belangrijk dat het herbruikbaar is.
Ik zoek in de template directory naar het functions.php bestand, hier bijvoorbeeld binnen de Twenty ten template.

In het bestand kijken we of de functie bestaat add_theme_support ('post-thumbnails') dat is degene die het gebruik van miniatuurafbeeldingen toestaat, als dat niet het geval is, zal ik het toevoegen en ook zal ik een variabele toevoegen voor een specifieke grootte.

In dit geval heeft de sjabloon al ondersteuning voor miniaturen, dus ik voeg gewoon mijn aangepaste grootte toe.
Dit betekent dat wanneer u een eigenschap-thumb aan een afbeelding toewijst, deze automatisch wordt verkleind tot 80 pixels breed en 80 pixels hoog.
We beginnen de functionaliteit hiervoor te maken, het is beter om de code te scheiden, het zou aan het einde van het functiebestand kunnen worden geplaatst, maar om meer geordend te werken, zullen we het in een map plaatsen Componenten (bewerken)
waar we een bestand met de naam real estate.php zullen maken, dus we hebben de afzonderlijke component.
 _x ('Onroerend goed', 'berichttype algemene naam'), 'singular_name' => _x ('Vastgoed', 'berichttype enkelvoud naam'), 'add_new' => _x ('Nieuw onroerend goed', 'echt estate'), 'add_new_item' => __ ("Nieuwe eigenschap"), 'edit_item' => __ ("Eigenschap bewerken"), 'new_item' => __ ("Nieuwe eigenschap"), 'view_item' => __ ( "Bekijk eigenschap" ), 'search_items' => __ ("Zoek eigenschap"),' not_found '=> __ (' Geen eigenschap gevonden '),' not_found_in_trash '=> __ (' Geen eigenschap '),' parent_item_colon '= >''); // Ik maak de argumenten voor de database $ inmobiliaria_args = array ('labels' => $ inmobiliaria_labels, 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'query_var' => true , 'rewrite' => true, 'hiërarchisch' => false, 'menu_position' => null, 'capability_type' => 'post', 'supports' => array ('title', 'excerpt', 'editor', ' thumbnail'), 'menu_icon' => get_bloginfo ('template_directory'). '/images/photo-album.png.webp' // 16x16 png als je een pictogram wilt); // Registreer de post register_post_type ('inmobiliaria', $ inmobiliaria_args); ?> var13 -> 

Dan nemen we het op in het bestand functions.php aan het einde of in een sectie voor de componenten, in dit geval voegen we het samen met de andere configuraties.

We gaan onze WordPress-beheerder invoeren, in het geval dat deze actief is, moeten we de sessie bijwerken of sluiten en opnieuw invoeren om de wijzigingen bij te werken die zijn aangebracht in het bestand Functions.php, dat degene is die de component aanroept.
Zoals we kunnen zien, is er een nieuw onroerend goed me toegevoegd, om onze eigen gegevens voor deze aangepaste postcomponent te kunnen beheren.

We zullen ook enkele categorieën of taxonomieën maken, zodat onze applicatie completer is. Bijvoorbeeld het type onroerend goed, huis, flat, enz. En nog een voor provincies. Hiervoor zullen we in het onroerend goed bestand hieronder de volgende code toevoegen, elk blok is een categorie en we kunnen degene maken die we willen.
 true, 'label' => 'Eigenschapstypen', 'singular_label' => 'Type', 'rewrite' => true)); }?> var13 -> true, 'label' => 'Provincies', 'singular_label' => 'provincie', 'rewrite' => true)); }?> var13 -> 

Dan kunnen we bij het updaten van onze wordpress-beheerder beide categorieën zien in het onroerend goed-menu.

Onze eigen gegevens vermelden
De wordpress-items en pagina in de beheerder hebben altijd dezelfde titel, auteur en datumgegevens, in dit geval moeten we de gegevens van de onroerendgoedcomponent vermelden. Hiervoor gaan we de kolommen van de lijst aanpassen
 '', 'title' => 'Title', 'photo' => 'Photo', 'type' => 'Type woning', 'province' => 'Provincie', 'date' => 'Date',); retourneer $ kolommen; }?> var13 -> 

Nadat we de titels en het type kolommen hebben aangegeven die zullen worden weergegeven, gaan we verder met het toewijzen van de gegevens van zoekopdrachten die we in de database zullen uitvoeren en wijzen we de gegevens toe aan elke kolom, in dit geval zoeken we de categorieën met de wordpress-functie get_the_term_list ( ).
 ID Type', '', ',', ''); pauze; case 'provincie': echo get_the_term_list ($ post-> ID, 'provincie', '', ',', ''); pauze; }} // voeg miniatuurafbeeldingen toe aan kolom add_filter ('manage_posts_columns', 'showphoto', 5); add_filter ('manage_pages_columns', 'showphoto', 5); add_filter ('manage_custom_post_columns', 'showphoto', 5); // Voeg de kolomfunctie showphoto ($ cols) {$ cols ['photo'] = __ ('Thumbnail'); retour $ cols; }?> var13 -> 

In het geval van de afbeelding creëren we een functie om naar de foto te zoeken en deze toe te voegen aan custom_post_columns Als we willen, kunnen we het ook toevoegen om te worden ondersteund voor berichten en pagina's, afgezien van onze component, anders verwijderen we die regels.
<? // voeg miniatuurafbeeldingen toe aan kolom
add_filter ('manage_posts_columns', 'showphoto', 5);
add_filter ('manage_pages_columns', 'showphoto', 5);
add_filter ('manage_custom_post_columns', 'showphoto', 5);
// Voeg de kolom toe
functie showfoto ($ cols) {
$ cols ['foto'] = __ ('Miniatuur');
retour $ cols;
}
?>
We slaan het real estate.php-bestand op waarin we deze wijzigingen hebben aangebracht en de WordPress-beheerderspagina hebben bijgewerkt. We gaan onze applicatie testen door een woning te registreren, hiervoor zullen we eerder de Typen eigenschappen categorieën registreren: huis, appartement, grond, etc.
Dan zullen we enkele provincies Barcelona, ​​​​Madrid, etc. registreren.
Dan gaan we naar het menu Eigenschappen> Nieuwe eigenschap en we registreren de gegevens als een normale wordpress-invoer, alleen hebben we de categorie en een afbeelding of foto om in te voegen als een uitgelichte afbeelding.

Onthoud dat de afbeeldingen voor de lijst met eigenschappen 80 x 80 pixels zullen hebben, we hadden dit in ons aangepaste formaat gedefinieerd onroerend goed-duim, dus het beste is dat we vierkante afbeeldingen gebruiken zodat ze niet worden gesneden, het ideaal zou 500x500 pixels zijn.
Wanneer we de wijzigingen opslaan, kunnen we de lijst met eigenschappen bekijken en zullen we onze gepersonaliseerde kolommen zien, met alle functionaliteiten geactiveerd om te zoeken, filteren, alfabetisch te sorteren of alleen een provincie te zien, enz.

Dit is heel eenvoudig te beheren en we kunnen ook meer functionaliteiten toevoegen als we het aangepaste berichttype of het aangepaste berichttype moeten wijzigen. Wat hergebruik betreft, is de component optimaal, want als we hem in een ander project willen gebruiken, kopiëren we gewoon het aangepaste berichttype, nemen het op in ons bestand Functions.php en we zullen het beschikbaar hebben voor gebruik zonder het opnieuw te hoeven programmeren.
Dan kunnen we dit met een simpele code tonen op de homepage of in een gedeelte van onze website, zoeken op provincie of op type woning.
We kunnen het onderdeel ook uitbreiden door meer functionaliteiten toe te voegen of aan te vullen met andere plug-ins, bijvoorbeeld om het in meerdere talen te implementeren met Qtraslator of voeg meerdere afbeeldingen toe Meerdere aanbevolen afbeeldingen om meer uitgelichte afbeeldingen te hebben en voor elke woning een fotogalerij te maken.
Het wijzigen van sommige lijnen kan ook worden gebruikt voor een voertuigbureau waar de categorieën voertuigmerken en -modellen waren of voor een reisbureau waar we pakketten en bestemmingen zouden hebben, de mogelijkheden zijn eindeloos, het hangt allemaal af van de behoeften en onze verbeeldingskracht.
wave wave wave wave wave