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.
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.
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é.
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.
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.
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.
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.