BuddyPress-thema's ontwikkelen - Deel 3 BuddyPress 1.5 & ledenpagina's

Welkom bij deel 3 van BuddyPress-thema's ontwikkelen. In deze tutorial zullen we ons concentreren op BuddyPress 'nieuwste release - versie 1.5, evenals hoe de gebruikerservaring kan worden aangepast door ledenpagina's te bewerken en aangepaste functies toe te voegen.


Deze tutorial is het laatste deel in deze serie BuddyPress Themes ontwikkelen. We zijn van de API gegaan naar een aangepast thema dat is opgebouwd rond een specifieke community. Vandaag nemen we dat een beetje verder.

Wat we gaan doen

In deze tutorial zullen we:

  • bekijk BuddyPress 1.5 - "Lombardi" - en de veranderingen die het met zich meebrengt
  • ga door met het bewerken van de style.css van ons thema om de groeps- en ledenpagina's te wijzigen
  • gebruik de API om groeps- en lidlussen aan te passen
  • gebruik aangepaste functies om de ervaring van de gebruiker te verbeteren en te begeleiden

Aan het einde van deze tutorialserie moet je een goed begrip hebben van de nieuwe veranderingen van BuddyPress en een goed referentiepunt als je je BuddyPress-thema's begint of blijft ontwikkelen.


Opwaarderen naar BP versie 1.5

Ten eerste, als je BP nog niet hebt bijgewerkt, ga je gang en neem de sprong en update. U kunt dat handmatig doen of via het WP-dashboard. Zodra u hebt bijgewerkt, ziet u een bericht boven aan het scherm waarin staat dat u de update moet configureren.

Klik daarop en dan zou je dit moeten zien:

  1. Ten eerste moet de database worden bijgewerkt, dus klik op Opslaan.
  2. Vervolgens bewerkt u de componenten die u op uw site wilt activeren. Maakt u zich geen zorgen, u kunt deze later ook activeren of deactiveren. Sla de instellingen op en ga verder.
  3. Vervolgens kunt u met BuddyPress nu bepaalde pagina's selecteren waarop componenten moeten zijn geïnstalleerd. U moet bijvoorbeeld vóór 1.5 de onderdelen van componenten bewerken in bp-custom.php. U kunt nu echter componenten aan pagina's koppelen en hun URL rechtstreeks vanuit het WP-dashboard wijzigen.
  4. Sla tot slot al je wijzigingen op, en het nieuwe BuddyPress-menu zal daadwerkelijk onderaan je linker WP-dashboard-navigatiemenu verschijnen - in plaats van bovenaan. Bedankt BP-ontwikkelaars voor die wijziging in plaatsing!

Het thema dat we hebben gemaakt, zou goed moeten zijn. Maak je geen zorgen over het inruilen van de stylesheets of iets dergelijks, want het is eigenlijk niet nodig voor zover ik kan vertellen. Als iemand daar een opmerking over heeft, zorg er dan voor dat je hem daar gooit!

Als de update niet zo goed was voor uw thema, bezoekt u hier de BuddyPress-themaontwerper en -ontwikkelaarspagina.


Wat zijn de hoogtepunten van BP Lombardi?

Sinds de release vorige week heb ik minimaal gespeeld, maar ik zal de hoogtepunten uit de BuddyPress-website herhalen. Ze zijn als volgt:

  • Nieuwe gebruikersinterface voor aangepast veld. Nee, u kunt aangepaste velden slepen en neerzetten en deze bekijken voordat ze live gaan. Hier is een screenshot van een nieuw veld dat ik heb gemaakt:
  • Hoewel dit niet is waar we het hier over hebben, komt Lombardi's nieuwe standaardthema met de mogelijkheid om de standaard achtergrond te veranderen, de standaard header te veranderen en een WP aangepast menu te gebruiken. Het standaardthema ook:
    • heeft 5 widgetized gebieden - 1 in de zijbalk en 4 in de voettekst
    • kan aanbevolen afbeeldingen weergeven (als aangepaste headerafbeeldingen op pagina's en berichten).
      bevat een optionele lay-out met één kolom
    • is responsief, dus het formaat wordt aangepast aan elke schermgrootte
    • heeft een nieuw forumtabblad in de paginanavigatie van het lid waarmee je snel toegang hebt tot onderwerpen die je hebt gestart of waarop je hebt gereageerd
  • Ondersteuning voor snel insluiten met oEmbed. Ik zal dit hieronder meer in detail bespreken.
  • BuddyPress is nu sneller en efficiënter. De ontwikkelaars gingen door de code om te zoeken naar manieren om de plug-in sneller en efficiënter te laten werken. Eerlijk gezegd doet het echt.

Klik hier voor een complete lijst met functies en hoogtepunten. Let op enkele wijzigingen in loops en basis-BP-functies. Deze zouden je echt moeten helpen bij je BP-themaontwikkeling.


Inbedden in BuddyPress 1.5

Een belangrijk ding dat ik specifiek wil bespreken in BuddyPress 1.5 is hoe in te bedden. BuddyPress maakt nu gebruik van de native embedding van Wordpress, waarmee je content direct kunt insluiten via de URL. Als ik bijvoorbeeld een video wil toevoegen aan mijn forumonderwerp, zou ik iets plaatsen als:

 Hé, kijk hier eens bij en laat me weten wat je ervan vindt. http://www.youtube.com/watch?v=ROBmgYcIBww

Dit zal resulteren in:

Als u wilt, kunt u de bovenstaande URL ook in een embed shortcode en geef de hoogte en breedte op als:

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

Dat zou moeten helpen als u een thema gebruikt dat een stijl gebruikt die anders is dan de standaard, omdat de breedte van de insluiting groter kan zijn dan u wilt.


Pagina's met nieuwe ledenpagina's bewerken

Laten we nu eens kijken naar het bewerken van ledensjablonen, een functie van BuddyPress 1.5. Terwijl we de lidsjablonen bewerken, wil ik u ook laten zien hoe u uw aangepaste profielveldgegevens aan de sjablonen toevoegt om uw online community echt te versterken.

Voordat we beginnen, moet je het kopiëren leden map van bp-standaard, en plak het in uw onderliggende themamap.

Stap 1 Werken met de ledensjabloon

Werk nog steeds in de ledenmap die u naar uw kindthema hebt gekopieerd en open de map met de naam single. Deze map bevat de elementen waaruit een lid bestaat wanneer ze hun profiel bezoeken. Mijn pagina ziet er momenteel zo uit:

De belangrijkste bestanden waarmee we werken zijn home.php en member-header.php, omdat dit de bestanden zijn die bepalen wat de gebruiker ziet wanneer ze naar hun info kijken.

Stap 2 Integratie van aangepaste profielveldgegevens

Open eerst het bestand lid-header.php. Dit bestand wordt gebruikt om de avatar-, info- en navigatie-elementen van de gebruiker weer te geven.

Omdat de site die ik maak over het buitenleven gaat en specifiek over kamperen, wil ik dat leden informatie hebben die relevant is. Hiervoor heb ik de volgende aangepaste profielvelden gemaakt:

Een groot voordeel van de nieuwe gebruikersinterface is dat navigeren veel eenvoudiger is. U kunt snel volledig nieuwe profielvelden maken en bewerken voor elke groep die u heeft, waardoor u elke groep in BuddyPress echt kunt aanpassen.

Om deze velden te integreren in de kop van mijn ledenpagina, onder regel 29, die is:

 

plaats het volgende:

 Mijn favoriete kampeerplek: '. $ Favorite_spot. '

'; $ necessary_item = bp_get_profile_field_data ('field = One Necessary Item'); echo '

Mijn One Necessary Item: '. $ Necessary_item. '

'; ?>

Hier heb ik de aangepaste profielvelden "Favoriete Kampeerplek" en "Eén Noodzakelijk voorwerp" opgehaald en in nieuwe alinea's onder de laatste activiteitsinformatie weergegeven. Ik gaf ze ook de klasse "profielvelden", zodat ik ze gemakkelijk kan inrichten via CSS.

Bovendien kunt u voorwaardelijke voorwaarden toevoegen waarmee gebruikers hun profiel kunnen bijwerken als de gegevens ontbreken.


Maak een bp-custom.php om de algehele gebruikerservaring te verbeteren

Tot nu toe hebben we veel gesproken over kindthema's en hoe je je eigen functies daaraan kunt toevoegen via de functies.php in de themak map van je kind. Hoe zit het met de wijzigingen die u aan BuddyPress wilt aanbrengen, ongeacht het thema dat wordt gebruikt? Hoe zit het met het veranderen van algemene zaken zoals het registratieproces of andere algemene elementen van de gebruikerservaring?

Om veranderingen op wereldwijde schaal te kunnen uitvoeren, ongeacht het thema, moet je een nieuw bestand maken met de naam bp-custom.php en plaatsen in wp-contents / plugins /. Om dat bestand aan te maken, opent u een nieuw bestand en plaatst u het daarin:


 

Sla het op als bp-custom.php, plaats het in wp-contents / plugins en je bent klaar! Zodra u daar functies toevoegt, worden ze ongeacht het thema geladen.


Een basis Twitter-feed toevoegen via bp-custom.php

Ten slotte wilde ik snel demonstreren hoe aangepaste velden en bp-custom.php kunnen worden gebruikt om een ​​Twitter-feed weer te geven. Ik weet dat er plug-ins zijn die deze functionaliteit ook hebben, maar ik wilde een aantal concepten waar we het over hadden in een voorbeeld plaatsen.

Eerst plaatste ik de volgende code in mijn bp-aangepast bestand:

 function CNBTgetTwitterStatus () ?>

's Twitter Feed

tekst; // krijgt de tijd dat de status is gemaakt $ tweet-> created_at; // krijgt de URL van het gebruikersprofiel Afbeelding $ tweet-> gebruiker-> profile_image_url; // krijgt de gebruikersnaam $ tweet-> gebruiker-> schermnaam; // krijgt de gebruiker locatie $ tweet-> gebruiker-> locatie; // krijgt de gebruikersnaam $ tweet-> gebruiker-> naam; // Haal het aantal volgers. $ Tweet-> gebruiksvriendelijker> followers_count; // Ontvang de URL van de gebruikerswebsite. $ tweet-> user-> url * / // Convert twitter Gebruikersnamen en links naar Hyperlinks $ tweetcontent = linkify ($ tweet-> text); $ getTweets. = "

$ tweetcontent

"; // Cache instellen als deze niet bestaat set_transient ($ transient, $ getTweets, 10); echo $ getTweets; else return false; / * Credit Jeremy Parrish http://rrish.org/ * / functie linkify ($ status_text) // linkify URL's $ status_text = preg_replace ('/ (https?: \ / \ / \ S +) /', '\ 1', $ status_text); // linkify gebruikers $ status_text = preg_replace ('/ (^ | \ s) @ (\ w +) /', '\ 1 @ \ 2', $ status_tekst); // koppelingstags $ status_text = preg_replace ('/ (^ | \ s) # (\ w + ) / ',' \ 1 # \ 2 ', $ status_tekst); return $ status_tekst; add_action (' bp_after_member_home_content ',' CNBTgetTwitterStatus ');

Deze code produceert dit:

Om dit een beetje op te splitsen, gebruik ik eerst een sjabloontag om een ​​kop met de naam van de gebruiker weer te geven, weet je, om het persoonlijker te maken.

 

's Twitter Feed

Vervolgens bouwen we de functie die onze twitter-updates zal uitvoeren. Omwille van de tijd heb ik deze functie eigenlijk gevonden. Er zijn andere functies die u gemakkelijk kunt gebruiken om de Twitter-feed te maken die u wilt. Als je merkt, zet ik ook een klasse op elke tweet, zodat ik het in mijn style.css kan stylen:

 $ getTweets. = "

$ tweetcontent

";

Aan het einde van deze functie, ik noem het en gebruik een sjabloon-tag om het te plaatsen na de inhoud van de homepage van het lid.

 add_action ('bp_after_member_home_content', 'CNBTgetTwitterStatus');

En nu hebt u een eenvoudige Twitter-feed die u kunt weergeven en aanpassen om uw gebruikers nog meer te verbinden!


Conclusie

Tot slot hoop ik dat je in deze serie hebt gezien dat BuddyPress een krachtige tool is die effectief kan worden gebruikt in je projecten. Het gaat niet voorbij aan begrip! Beter nog, het heeft een actief dev-team en een gemeenschap die werken om het nog efficiënter en functioneler te maken. Ik heb met je genoten van deze serie, en als ik kan helpen, laat het me alsjeblieft weten.

!