FRFAM.COM >> Famille >> Technologie &Innovation >> Informatique

Comment créer votre propre liste d'événements à l'aide de types de publication personnalisés dans WordPress

L'un des avantages de l'utilisation de WordPress est sa grande flexibilité. Ce n'est pas seulement pour les publications et les pages :les types de publication personnalisés peuvent étendre les fonctionnalités de base à pratiquement n'importe quoi.

Examinons aujourd'hui ce que vous pouvez faire avec les types de publication personnalisés, ainsi qu'un exemple pratique rapide de la création d'une liste d'événements à l'aide d'un type de publication personnalisé appelé Événement.

Remarque : Ce didacticiel doit être considéré à des fins éducatives uniquement, afin que vous puissiez apprendre le code utilisé pour créer des types de publication personnalisés. Si vous voulez réellement un excellent plugin de liste d'événements pour votre site WordPress, essayez The Events Calendar, qui est bien développé et gratuit.

Que sont les types de publication personnalisés dans WordPress ?

En règle générale, un site WordPress se compose de deux types de contenu :des articles de blog datés et des pages statiques. La plupart d'entre nous qui ont créé un blog WordPress sont familiers avec le fait que les pages doivent être utilisées pour des choses comme "À propos de moi" ou "Coordonnées", tandis que les publications régulières vont sur votre blog.

Mais au-delà de cela, que se passe-t-il si vous souhaitez ajouter un autre type de contenu spécial qui ne correspond pas vraiment à l'ordre chronologique du blog et qui n'est certainement pas statique ? C'est là qu'interviennent les types de publication personnalisés.

Une demande assez courante pour les sites de clubs ou de groupes est d'avoir une sorte de calendrier des événements. Une solution qui pourrait être appliquée consiste à créer une catégorie de publications Événements distincte. Le problème avec cela est qu'ils seront affichés dans la chronologie principale du blog, et nous devrions vraiment séparer complètement les deux concepts.

À cette fin, créons un nouveau type de publication appelé événement, qui aura sa propre section distincte de l'interface d'administration.

Comment créer un type de message personnalisé dans WordPress

Nous le ferons en ajustant directement vos fichiers de thème. Vous pouvez obtenir le même effet via un plugin, mais pour démontrer le concept et la pratique, il est simplement plus facile de les écrire directement. Si cela ne vous convient pas, envisagez d'utiliser le plug-in My Custom Functions, qui vous permet d'ajouter du code de manière non destructive.

https://en-gb.wordpress.org/plugins/my-custom-functions/

Ouvrez le fichier functions.php de votre thème fichier, stocké dans le dossier du thème à l'intérieur de wp-content/themes; ou utilisez le plug-in Mes fonctions personnalisées, que vous trouverez dans Paramètres> Inserteur PHP . A la fin du fichier, ajoutez ce code :

add_action('init', 'events_init'); 
fonction events_init() {
$args =tableau(
'étiquettes' => tableau(
'nom' => __('Evénements'),
'nom_singulier' => __('Evénement'),
),
'public' => vrai,
'has_archive' => vrai,
'rewrite' => array("slug" => "events"),
'supports' => array('thumbnail','editor','title','custom-fields')
);
register_post_type( 'events' , $args );
}

Assurez-vous de le faire avant la fermeture du php (?> ) balise, s'il y en a une dans votre functions.php fichier.

Prenez un moment pour relire le code. Il déclare certaines propriétés (comme les étiquettes pour l'interface), et comment les URL (réécritures) doivent être gérées, ainsi que les fonctionnalités prises en charge par ce post-type. Vous pouvez, par exemple, ajouter un champ personnalisé à votre type de publication personnalisé avec la propriété supports.

Dans ce cas, nous avons déclaré notre type d'événement pour prendre en charge les vignettes, un éditeur de contenu pour la description de l'événement, un titre d'événement et des champs personnalisés. Nous avons également ajouté has_archive , de sorte que la navigation vers la page des événements affichera une archive de tous les événements, semblable à un blog.

Voilà, maintenant si vous enregistrez votre thème et rechargez votre blog, en supposant que vous n'avez pas d'erreurs, vous devriez maintenant voir une nouvelle section d'événements sur votre barre latérale d'administration. Youpi !

Comment créer votre propre liste d événements à l aide de types de publication personnalisés dans WordPress

Ajoutez quelques exemples d'événements maintenant.

Comment créer votre propre liste d événements à l aide de types de publication personnalisés dans WordPress

Ensuite, puisqu'il s'agit d'un événement, créez un champ personnalisé appelé date pour indiquer quand l'événement se produira. Utilisez mm/jj/aaaa formater.

Comment créer votre propre liste d événements à l aide de types de publication personnalisés dans WordPress

Notez que nous devons utiliser des champs personnalisés pour spécifier la date réelle de l'événement plutôt que la date de la publication, car la date de la publication représente la date de publication de l'avis. Étant donné que vous ajouteriez probablement des événements qui se produiront dans le futur, il serait inutile de définir la date de publication sur la date réelle de l'événement.

Si vous essayez d'afficher l'événement à ce stade, vous risquez d'obtenir une erreur 404. En effet, WordPress doit régénérer la structure de votre URL Permalink pour tenir compte de ce nouveau type de publication. Rendez-vous dans Paramètres > Permaliens page, et appuyez à nouveau sur Enregistrer.

Vous devriez maintenant être en mesure de voir la publication de l'événement individuel. Notez que la première partie de l'URL, après votre nom de domaine, est /events/ . Nous avons choisi ceci dans cette ligne de code :

'rewrite' => array("slug" => "events"), 

Personnaliser la page de liste des événements

Maintenant que vous avez tous ces événements fantastiques sur votre blog, ce serait bien de les lister quelque part. Pour cela, nous allons créer un modèle de page spécial, afin que vous puissiez ensuite ajouter cette page à vos éléments de menu habituels à côté de À propos ou Contact.

Étant donné que nous avons déjà spécifié que le type de publication d'événement doit avoir une archive, vous pouvez aller de l'avant et voir quelle est la valeur par défaut en visitant /events/ . Sur le thème standard Twenty-Seventeen de mon site de test, j'ai ceci :

Comment créer votre propre liste d événements à l aide de types de publication personnalisés dans WordPress

La personnalisation de cette sortie dépendra du thème que vous utilisez, et couvrir l'ensemble du système de modèles WordPress sort du cadre de cet article. Cependant, pour les besoins de ce didacticiel, je suppose que vous utilisez Twenty-Seventeen.

Commencez par créer une copie de archive.php , et renommez-le en archive-events.php . Il s'agit d'une convention de dénomination standard qui signifie que WordPress utilisera automatiquement ce modèle pour afficher l'archive pour le type de publication d'événements.

Après examen du dossier, les auteurs de Twenty-Seventeen ont proposé un mécanisme de format de publication, trop complexe pour nos besoins :

/* 
* Inclure le modèle spécifique au Post-Format pour le contenu.
* Si vous souhaitez remplacer cela dans un thème enfant, incluez un fichier
* appelé content-___.php (où ___ est le nom du format de publication) et qui sera utilisé à la place.
*/
get_template_part( 'template-parts/post/content', get_post_format() );

Remarque :un thème enfant est recommandé car toute mise à jour du thème d'origine écrasera vos modifications. Cet article de support WordPress décrit le processus de création d'un thème enfant pour Twenty-Seventeen. Par souci de brièveté, je vais juste travailler sur le thème d'origine et ne me soucie pas si mon travail est perdu dans une mise à jour ultérieure.

Découpez tout ce bloc et collez ce qui suit à la place. Ceci est juste une copie simplifiée de ce qui se trouve dans ces modèles de format de publication, pour le plaisir d'apprendre :



'.twentyseventeen_time_link().'
' ;
the_title( '

', '

' );?>









"%s"',get_the_title()));?>

Si vous enregistrez et prévisualisez à nouveau la page Événements, vous remarquerez qu'elle contient désormais des dates. Mais ils ont tort. Ils affichent actuellement la date de publication au lieu de la date de l'événement. Comme dernière étape, changeons cela pour la date réelle à laquelle l'événement aura lieu. Trouvez le bit qui génère le temps,

twenty_seventeen_time_link() 

, et remplacez-le par ce qui suit :

date('l jS F Y',strtotime(get_post_meta(get_the_ID(), 'date', true))) 

Il s'agit d'obtenir la date du champ post-méta que nous avons défini, puis d'utiliser PHP date() fonction pour le formater en quelque chose de plus lisible.

Comment créer votre propre liste d événements à l aide de types de publication personnalisés dans WordPress

Prochaines étapes ?

Si vous n'êtes pas satisfait de votre hébergeur actuel, nous vous recommandons fortement d'utiliser un hébergeur WordPress géré comme WP Engine, que nous utilisons nous-mêmes pour nos sites frères. Sinon, InMotion Hosting propose des plans abordables, qui sont encore moins chers avec notre remise spéciale lorsque vous utilisez ce lien.

Ensuite, notez que lorsque nous avons créé le type de publication d'événement, nous avons déjà codé la prise en charge des vignettes en vedette. Utilisez notre guide des images en vedette et publiez des vignettes pour saisir et afficher une image en vedette dans les archives de la liste des événements.


[]