Table des matières
Souvent, en tant que développeurs, nous devons créer du contenu personnalisé ou certaines fonctionnalités de manière organisée et enregistrer nos propres valeurs et champs que Wordpress n'a pas par défaut, il est également important qu'il soit réutilisable.Je cherche dans le répertoire template pour le fichier functions.php, ici par exemple dans le template Twenty ten.
A l'intérieur du fichier on regarde si la fonction existe add_theme_support ('post-vignettes') qui est celui qui permet l'utilisation d'images miniatures, si ce n'est pas le cas, je l'ajouterai et aussi j'ajouterai une variable pour une taille spécifique.
Dans ce cas, le modèle prend déjà en charge les vignettes, j'ajoute donc simplement ma taille personnalisée.
Cela signifie que lorsque vous attribuez propriété-pouce à une image, elle sera automatiquement dimensionnée à 80 pixels de large sur 80 pixels de haut.
Nous commençons à créer la fonctionnalité pour cela, il vaut mieux séparer le code, il pourrait le mettre à la fin du fichier de fonctions, mais pour travailler plus méthodiquement nous le mettrons dans un répertoire Composants (modifier)
où nous allons créer un fichier appelé real estate.php, nous avons donc le composant séparé.
_x ('Real estate', 'post type general name'), 'singular_name' => _x ('Real estate', 'post type single name'), 'add_new' => _x ('Nouveau immobilier', 'real estate'), 'add_new_item' => __ ("Nouvelle propriété"), 'edit_item' => __ ("Modifier la propriété"), 'new_item' => __ ("Nouvelle propriété"), 'view_item' => __ ( "Afficher la propriété" ), 'search_items' => __ ("Rechercher la propriété"),' not_found '=> __ (' Aucune propriété trouvée '),' not_found_in_trash '=> __ (' Aucune propriété '),' parent_item_colon '= >' '); // Je crée les arguments pour la base de données $ 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', 'excerpt', 'editor', ' thumbnail'), 'menu_icon' => get_bloginfo ('template_directory'). '/images/photo-album.png.webp' // 16x16 png si vous voulez une icône); // Enregistrer le post register_post_type ('inmobiliaria', $ inmobiliaria_args); ?> var13 ->
Ensuite, nous l'incluons dans le fichier functions.php à la fin ou dans une section pour les composants, dans ce cas nous le rassemblons avec les autres configurations.
Nous allons entrer dans notre administrateur wordpress, s'il est actif, nous devons mettre à jour ou fermer la session et entrer à nouveau pour mettre à jour les modifications apportées au fichier functions.php, qui est celui qui invoque le composant.
Comme on peut le voir, un nouveau moi immobilier a été ajouté, pour pouvoir gérer nos propres données pour ce composant de poste personnalisé.
Nous allons également créer des catégories ou taxonomies afin que notre application soit plus complète. Par exemple, le type de propriété, maison, appartement, etc. et un autre pour les provinces. Pour cela, dans le fichier immobilier ci-dessous nous ajouterons le code suivant, chaque bloc est une catégorie et nous pourrions créer ceux que nous voulons.
true, 'label' => 'Property types', 'singular_label' => 'Type', 'rewrite' => true)); }?> var13 -> true, 'label' => 'Provinces', 'singular_label' => 'province', 'rewrite' => true)); }?> var13 ->
Ensuite, lors de la mise à jour de notre administrateur wordpress, nous pouvons voir les deux catégories dans le menu immobilier.
Lister nos propres données
Les entrées et la page wordpress dans l'administrateur ont toujours les mêmes données de titre, d'auteur et de date, dans ce cas, nous devons répertorier les données du composant immobilier. Pour cela nous allons personnaliser les colonnes de la liste
'', 'title' => 'Title', 'photo' => 'Photo', 'type' => 'Property type', 'province' => 'Province', 'date' => 'Date',); renvoie les colonnes $ ; }?> var13 ->
Après avoir indiqué les titres et le type de colonnes qui vont être affichées, nous procédons à l'attribution des données à partir des requêtes que nous effectuerons dans la base de données et attribuons les données à chaque colonne, dans ce cas nous recherchons les catégories avec la fonction wordpress get_the_term_list ( ).
ID, 'type', '', ',', ''); Pause; case 'province': echo get_the_term_list ($ post-> ID, 'province', '', ',', ''); Pause; }} // ajoute des images miniatures à la colonne add_filter ('manage_posts_columns', 'showphoto', 5); add_filter ('manage_pages_columns', 'showphoto', 5); add_filter ('manage_custom_post_columns', 'showphoto', 5); // Ajout de la fonction de colonne showphoto ($ cols) {$ cols ['photo'] = __ ('Thumbnail'); retourne $ cols; }?> var13 ->
Dans le cas de l'image, nous créons une fonction pour rechercher la photo et l'ajouter à custom_post_columns Si nous le souhaitons, nous pouvons également l'ajouter pour qu'il soit pris en charge pour les publications et les pages, en dehors de notre composant, sinon nous supprimons ces lignes.
<? // ajoute des images miniatures à la colonne
add_filter ('manage_posts_columns', 'showphoto', 5);
add_filter ('manage_pages_columns', 'showphoto', 5);
add_filter ('manage_custom_post_columns', 'showphoto', 5);
// Ajout de la colonne
fonction showphoto ($ cols) {
$ cols ['photo'] = __ ('Vignette');
retourne $ cols;
}
?>
Nous enregistrons le fichier real estate.php où nous avons apporté ces modifications et mis à jour la page de l'administrateur wordpress. Nous allons tester notre application en enregistrant un bien, pour cela nous enregistrerons au préalable les catégories Types de biens : Maison, Appartement, Terrain, etc.
Ensuite, nous enregistrerons certaines provinces Barcelone, Madrid, etc.
Ensuite, nous allons au menu Propriétés> Nouvelle propriété et nous enregistrons les données comme une entrée wordpress normale, seulement nous aurons la catégorie et une image ou une photo à insérer comme image vedette.
N'oubliez pas que les images seront dimensionnées à 80 x 80 pixels pour la liste des propriétés, nous l'avions défini dans notre taille personnalisée immobilier-pouce, donc le mieux c'est qu'on utilise des images carrées pour qu'elles ne soient pas coupées, l'idéal serait de 500x500 pixels.
Ensuite, lors de l'enregistrement des modifications, nous pouvons accéder à la liste des propriétés et nous verrons nos colonnes personnalisées, avec toutes les fonctionnalités activées pour rechercher, filtrer, trier par ordre alphabétique ou ne voir qu'une province, etc.
Ce sera très facile à administrer et nous pouvons également ajouter plus de fonctionnalités si nous devons modifier le type de publication personnalisé ou le type de publication personnalisé. En ce qui concerne la réutilisation, le composant est optimal, car si nous voulons l'utiliser dans un autre projet, nous copions simplement le type de publication personnalisé, l'incluons dans notre fichier functions.php et nous l'aurons disponible pour l'utiliser sans avoir à le reprogrammer.
Ensuite, avec un simple code, nous pouvons l'afficher sur la page d'accueil ou dans une section de notre site Web, rechercher par province ou par type de propriété.
On peut aussi étendre le composant en ajoutant plus de fonctionnalités ou en le complétant avec d'autres plugins, par exemple pour l'implémenter dans plusieurs langages avec Traslator ou ajouter plusieurs images Plusieurs images en vedette pour avoir plus d'images en vedette et créer une galerie de photos pour chaque propriété.
Changer certaines lignes pourrait aussi servir pour une agence de véhicules où les catégories étaient des marques et modèles de véhicules ou pour une agence de voyages où nous aurions des forfaits et des destinations, les possibilités sont infinies, tout dépend des besoins et de notre imagination.