Développement de thèmes BuddyPress - Partie 3 BuddyPress 1.5 et pages membres

Bienvenue dans la partie 3 de la rubrique "Développement de thèmes BuddyPress". Dans ce tutoriel, nous allons nous concentrer sur la dernière version de BuddyPress - version 1.5, ainsi que sur la façon de personnaliser l'expérience utilisateur en modifiant les pages des membres et en ajoutant des fonctions personnalisées..


Ce tutoriel est la dernière partie de cette série de thèmes de développement de BuddyPress. De l'API, nous sommes passés à la création d'un thème personnalisé construit autour d'une communauté spécifique. Aujourd'hui, nous allons prendre cela un peu plus loin.

Qu'allons nous faire

Dans ce tutoriel, nous allons:

  • jetez un coup d’œil à BuddyPress 1.5 - "Lombardi" - et aux changements qu’il apporte
  • continuer à éditer le style.css de notre thème pour changer les pages des groupes et des membres
  • utiliser l'API pour personnaliser les boucles de groupe et de membre
  • utiliser des fonctions personnalisées pour améliorer et guider l'expérience de l'utilisateur

À la fin de cette série de tutoriels, vous devriez avoir une compréhension complète des nouveaux changements de BuddyPress et un excellent point de référence lorsque vous commencez ou continuez à développer vos propres thèmes BuddyPress..


Mise à niveau vers BP version 1.5

Tout d'abord, si vous n'avez pas encore mis à jour votre BP, allez-y, franchissez le pas et mettez-le à jour. Vous pouvez le faire manuellement ou via le tableau de bord WP. Une fois que vous avez mis à jour, vous verrez une notification en haut de l'écran vous indiquant que vous devez configurer la mise à jour..

Cliquez dessus et vous devriez voir ceci:

  1. Tout d'abord, la base de données doit être mise à jour alors faites-le, puis cliquez sur Enregistrer..
  2. Ensuite, vous allez éditer les composants que vous souhaitez activer sur votre site. Ne vous inquiétez pas, vous pouvez également les activer ou les désactiver plus tard. Enregistrez les paramètres et continuez.
  3. Ensuite, BuddyPress vous permet maintenant de sélectionner certaines pages sur lesquelles vous souhaitez que les composants soient activés. Par exemple, avant la version 1.5, vous deviez éditer les slugs des composants dans bp-custom.php. Cependant, vous pouvez maintenant lier des composants à des pages et modifier leur URL directement à partir du tableau de bord WP..
  4. Enfin, enregistrez toutes vos modifications et le nouveau menu BuddyPress apparaîtra en bas du menu de navigation gauche du tableau de bord WP - au lieu d’être en haut. Merci BP devs pour ce changement de placement!

Le thème que nous avons créé devrait être bon. Ne vous inquiétez pas de la mise en file d'attente des feuilles de style ou de quelque chose du genre, cela est en fait inutile, à ma connaissance. Si quelqu'un a un commentaire à ce sujet, assurez-vous de le jeter là-bas!

Si la mise à jour n'a pas été aussi agréable pour votre thème, visitez la page du concepteur de thème et du développeur de BuddyPress à l'adresse suivante:.


Quels sont les points forts de BP Lombardi?

Depuis sa sortie la semaine dernière, j'ai peu joué, mais je vais faire écho aux temps forts publiés sur le site Web de BuddyPress. Ils sont comme suit:

  • Nouvelle interface utilisateur de champ personnalisé. Non, vous pouvez faire glisser des champs personnalisés et les prévisualiser avant leur mise en ligne. Voici une capture d'écran d'un nouveau champ que j'ai créé:
  • Bien que ce ne soit pas ce dont nous parlions ici, le nouveau thème par défaut de Lombardi permet de modifier l’arrière-plan par défaut, l’en-tête par défaut et l’utilisation d’un menu personnalisé WP. Le thème par défaut aussi:
    • a 5 zones widgetisées - 1 dans la barre latérale et 4 dans le pied de page
    • peut afficher les images en vedette (sous forme d'images d'en-tête personnalisées sur les pages et les publications).
      contient une disposition facultative à une colonne
    • est sensible, il est donc redimensionné pour s'adapter à toutes les tailles d'écran
    • a un nouvel onglet forums dans la navigation de la page du membre qui vous permet d'accéder rapidement aux sujets que vous avez commencés ou auxquels vous avez répondu
  • Prise en charge rapide avec oEmbed. Je vais en parler plus en détail ci-dessous.
  • BuddyPress est maintenant plus rapide et plus efficace. Les développeurs ont parcouru le code en cherchant des moyens de rendre le plugin plus rapide et plus efficace, et très franchement, cela fonctionne réellement..

Pour une liste complète des fonctionnalités et des points forts, cliquez ici. Assurez-vous de noter quelques modifications apportées aux boucles et aux fonctions de base du partenaire. Ceux-ci devraient vraiment vous aider dans le développement de votre thème BP.


Intégration dans BuddyPress 1.5

Une chose importante que je souhaite aborder dans BuddyPress 1.5 est la manière de l’intégrer. BuddyPress utilise maintenant l’intégration native de Wordpress, ce qui vous permet d’incorporer directement du contenu via l’URL. Par exemple, si je veux ajouter une vidéo à mon sujet de forum, je posterais quelque chose comme:

 Hey, regarde ça et laisse-moi savoir ce que tu penses. http://www.youtube.com/watch?v=ROBmgYcIBww

Cela se traduira par:

Si vous préférez, vous pouvez également mettre l'URL ci-dessus dans un intégrer shortcode et spécifiez la hauteur et la largeur comme ceci:

 [embed] http://www.youtube.com/watch?v=ROBmgYcIBww [/ embed]

Cela devrait aider si vous utilisez un thème utilisant un style différent de celui par défaut, car la largeur de l'incorporation risque d'être supérieure à celle souhaitée..


Modification des pages de modèle de nouveau membre

Voyons maintenant la modification des modèles de membres, une fonctionnalité de BuddyPress 1.5. En modifiant les modèles de membre, je souhaite également vous montrer comment ajouter vos données de champ de profil personnalisé aux modèles afin de renforcer réellement votre communauté en ligne..

Avant de commencer, vous devrez copier le membres dossier de bp-default et collez-le dans le dossier de votre thème enfant.

Étape 1 Travailler avec le modèle de membre

Toujours dans le dossier des membres que vous avez copié dans votre thème enfant, ouvrez le dossier nommé unique. Ce dossier contient les éléments qui constituent ce qu'un membre voit lorsqu'il visite son profil. Ma page ressemble actuellement à ceci:

Les fichiers principaux sur lesquels nous allons travailler sont home.php et member-header.php, car ce sont les fichiers qui contrôlent ce que l'utilisateur voit lorsqu'il regarde ses informations..

Étape 2: Intégration des données de champ de profil personnalisé

Tout d'abord, ouvrez le fichier membre-header.php. Ce fichier est utilisé pour afficher les éléments d'avatar, d'informations et de navigation de l'utilisateur..

Étant donné que le site que je crée concerne les grands espaces et le camping, je souhaite que les membres aient des informations pertinentes. Pour cela, j'ai créé les champs de profil personnalisés suivants:

L'un des grands avantages de la nouvelle interface utilisateur est qu'il est beaucoup plus facile de naviguer. Vous pouvez rapidement créer et éditer de nouveaux champs de profil pour chaque groupe que vous avez, personnalisant ainsi vraiment chaque groupe dans BuddyPress.

Pour intégrer ces champs dans l'en-tête de ma page de membre, sous la ligne 29, procédez comme suit:

 

Placez ce qui suit:

 Mon spot de camping préféré: '. $ Favorite_spot. '

'; $ required_item = bp_get_profile_field_data ('champ = Un élément nécessaire'); écho '

Mon seul élément nécessaire: '. $ Required_item. '

'; ?>

Ici, j'ai récupéré les champs de profil personnalisés "Lieu de camping préféré" et "Un élément nécessaire" et les ai affichés dans de nouveaux paragraphes en dessous de la dernière information d'activité. Je leur ai aussi donné la classe "profile-fields" afin que je puisse facilement les styler via CSS.

En plus de cela, vous pouvez ajouter des conditions qui demandent aux utilisateurs de mettre à jour leurs profils si les données sont manquantes..


Créez un fichier bp-custom.php pour améliorer l'expérience utilisateur globale

Jusqu'ici, nous avons beaucoup parlé de thèmes enfants et de la façon d'ajouter vos propres fonctions via le fichier functions.php de votre dossier de thèmes enfants. Cependant, qu'en est-il des modifications que vous souhaitez apporter à BuddyPress, quel que soit le thème utilisé? Qu'en est-il des choses globales telles que le processus d'inscription ou d'autres éléments globaux de l'expérience utilisateur??

Eh bien, pour apporter des modifications à l'échelle mondiale quel que soit le thème, vous devez créer un nouveau fichier appelé bp-custom.php et le placer dans wp-contents / plugins /. Pour créer ce fichier, ouvrez un nouveau fichier et placez-y les éléments suivants:


 

Enregistrez-le sous bp-custom.php, placez-le dans wp-contents / plugins et vous avez terminé! Une fois que vous ajoutez des fonctions, elles se chargeront quel que soit le thème..


Ajout d'un flux Twitter de base via bp-custom.php

Enfin, je voulais montrer rapidement comment utiliser les champs personnalisés et bp-custom.php pour afficher un flux Twitter. Je sais qu'il existe des plug-ins qui offrent également cette fonctionnalité, mais je voulais mettre en parallèle certains des concepts dont nous avons parlé..

Tout d'abord, j'ai placé le code suivant dans mon fichier bp-custom:

 fonction CNBTgetTwitterStatus () ?>

Flux Twitter de

texte; // récupère l'heure de création du statut $ tweet-> created_at; // récupère l'URL de l'image de profil utilisateur $ tweet-> user-> profile_image_url; // obtient le nom d'écran de l'utilisateur $ tweet-> user-> nom_écran; // récupère l'emplacement de l'utilisateur $ tweet-> user-> location; // obtient le nom d'utilisateur $ tweet-> user-> name; // Obtenir le nombre de suiveurs. $ tweet-> user-> followers_count; // Récupère l'URL du site Web de l'utilisateur. $ tweet-> user-> url * / // Convertissez les noms d'utilisateur Twitter et les liens vers des hyperliens $ tweetcontent = linkify ($ tweet-> text); $ getTweets. = "

$ tweetcontent

"; // Définissez le cache s'il n'existe pas set_transient ($ transitoire, $ getTweets, 10); echo $ getTweets; else retour false; / * Crédit Jeremy Parrish http://rrish.org/ * / function linkify ($ status_text) // URL de linkify $ status_text = preg_replace ('/ (https?: \ / \ / \ S +) /', '\ 1', $ status_text) // // utilisateurs de twitter de linkify $ status_text = preg_replace ('/ (^ | \ s) @ (\ w +) /', '\ 1 @ \ 2', $ status_text) // // balises de lien $ status_text = preg_replace ('/ (^ | \ s) # (\ w + ) / ',' \ 1 # \ 2 ', $ status_text); return $ status_text; add_action (' bp_after_member_home_content ',' CNBTgetTwitterStatus ');

Ce code produit ceci:

Pour décomposer cela un peu, j’utilise d’abord une balise template pour afficher un en-tête avec le nom de l’utilisateur, vous savez, pour que ce soit plus personnel..

 

Flux Twitter de

Ensuite, nous construisons la fonction qui produira nos mises à jour Twitter. Pour gagner du temps, j'ai effectivement trouvé cette fonction. Il existe d’autres fonctions que vous pouvez facilement utiliser pour créer le flux Twitter de votre choix. Si vous remarquez, je mets également un cours sur chaque tweet, afin que je puisse l'appeler dans mon style.css:

 $ getTweets. = "

$ tweetcontent

";

À la fin de cette fonction, je l'appelle et j'utilise une balise de modèle pour la placer après le contenu de la page d'accueil du membre..

 add_action ('bp_after_member_home_content', 'CNBTgetTwitterStatus');

Et maintenant, vous avez un simple flux Twitter que vous pouvez afficher et personnaliser pour connecter encore plus vos utilisateurs.!


Conclusion

En conclusion, j'espère que vous avez vu tout au long de cette série que BuddyPress est un outil puissant pouvant être utilisé efficacement dans vos projets. Ce n'est pas incompréhensible! Mieux encore, une équipe de développement active et une communauté s’efforcent de la rendre encore plus efficace et fonctionnelle. J'ai aimé parcourir cette série avec vous et si je peux vous aider, faites-le-moi savoir..

!