Using BuddyPress for Social Networks

Plugin – BP Profile Shortcodes Extra

Plugin – BP Profile Shortcodes Extra

https://wordpress.org/plugins/bp-profile-shortcodes-extra

BP Profile Shortcodes is a fork of BuddyPress Profile Shortcodes, there were a number of bugs and deprecation notices affecting that plugin and it had not kept up to date with new BP features such as cover-images. I’ve felt for a long time that this plugin missed a number of key features, so I decided to fork it. I did offer my code to the plugin developers but I’ve not had a response and after a month of waiting I decided to released my forcked version as a new plugin in the Repo.

BP Profile Shortcodes Extra maintains the features introduced in the original plugin, it provides shortcodes to display the username, display name, profile url, avatar photo etc. but in addition it provides the ability to display the users cover image, the profile header and lists of the users friends and group memberships.

I also decided to add a similar set of features for groups, so now you can display links to group pages, the group avatar, cover image and header and also list the group members.

A number of users were having problems with the Profile Field shortcode, with the error “Invalid Tab selected”, I could not recreate this issue but I decided to implement an additional method of selecting the field. so this shortcode now has two options. Full details in the readme but the following is now an option to display for example the name: [bpps_profile_field option=”Two” field=”Name” ]

The complete feature set is as follows:

Member Profile Shortcodes

* Display Name – As text or a link to the members profile page.

* Username – As text or a link to the members profile page.

* Avatar or Profile Image – As an image, url or link to the members profile homepage.

* Cover Image – As an image, url or with a link to the members profile homepage.

* Profile Header – A collection of cover image, avatar and @username, with the username being a link to that members profile.

* Profile Field – You can display information from any of the profiles Xprofile fields.

* Profile Edit link – link the the users edit profile page

* Profile Lists – provide friends and groups lists – Three list styles – List, avatar grid and avatar list. Group lists support group memberships, groups created and groups administered by the user.

* If no user_id is specified in the shortcode, the details of the member viewing that page will be displayed.

Group Shortcodes

* Group Links – provide links to any group page (home, activity, forum etc.

* Group Avatar Image – as an image or lnk to the group homepage

* Group Cover-Image – as an image or a link to the group homepage

* Group Header – including cover-image, avatar and group name with link to group homepage.

* Group Member List – three different list styles – text list, avatar grid and avatar list.

* Group ID must be specified as either the Group Id or the Group slug.

BP Profile Shortcodes Extra fills a gap where site members need to display profile or group information in posts, more advanced users could use it as a basis to create custom dashboard pages for users, a single page can be created and added to the users navbar in order to fully integrate the shortcode functionality with existing BuddyPress pages.

I’m open to further suggestions as to how to further develop this plugin. I’ve already got a god list of possible developments but I’d really appreciate some user feedback. I’ve added a lot of custom CSS attributes to help you style these page elements and it would be really good to see how this works in practice.

 

1+
    • James on April 17, 2018 at 6:14 pm

    Reply

    This plugin is amazing.
    I am new to webpage design and I am having an issue with the style attribute in the shortcode. I am wanting to add a 5px solid border with a radius of 25px around a users avatar by adding the style option to the shortcode [bpps_profile_avatar_url]. Is this possible via the shortcode style option?

    1+
      • Venutius on April 17, 2018 at 6:37 pm
      • Author

      Reply

      Hi James,

      Yes you can simply add style=”border-radius: 25px;” etc. to the shortcode and it should work.

      0
      • Venutius on April 27, 2018 at 1:12 pm
      • Author

      Reply

      That’s interesting, I’ll do some testing later and make sure this is working correctly, I’ll get back to you.

      0
    • Matt on April 27, 2018 at 7:41 am

    Reply

    Hi,
    Awesome and very useful plugin, great job!

    I’m having a problem with getting [bpps_profile_field field=”fieldname” tab=”section”] to work.
    I keep getting “The tab name is invalid” error. Would you be able to provide some detailed instructions or examples please?
    I really appreciate your help

    1+
      • Venutius on April 27, 2018 at 8:07 am
      • Author

      Reply

      Hi Matt, thanks for giving the plugin a try. the tab=”” setting would need to reflect the field group that you are trying to pull the data from, the default tab used by BP is “Base”, so if you wanted to pull the Name field from there you would enter [bpps_profile_field field=”Name” tab=”Base” ].

      Hope that helps.

      0
        • Matt on April 27, 2018 at 12:26 pm

        Reply

        Thank you for your quick reply!

        That’s exactly what I’ve done before reaching out to you ( I think) and it didn’t work.
        Just so we are on the same page: I am trying to display fields from Users/Profile Fields.
        I’ve created a number of field groups in there. Each group has a number of fields also.
        For example I have a field group called “Availability” and field called “Days”.
        I’ve tried the following shortcode: [bpps_profile_field field=”Days” tab=”Availability” ]. It resulted in “The tab name is invalid” being shown.

        Please advise if I’m doing something wrong, cheers.

        1+
          • Venutius on April 28, 2018 at 10:19 am
          • Author

          Reply

          Hi Matt,

          I tested this and the shortcode works for me, I tested it with both the Base tab and another tab I created called More Info, I was able to select and display info from fields in both tabs. I can’t see what you are doing wrong but somewhere you must be – maybe check the tab name that you are using? Maybe as a first tst you should see if you can get the Name from Base?

          0
            • Matt on April 30, 2018 at 1:58 am

            Thanks for the help.

            The only shortcode that works for me is : [bpps_profile_displayname]
            I can’t get Name from Base. My Primary Field Group is called “Personal”, I’ve tried that and it doesn’t work either.
            Could you maybe email me directly and I’d send you some screenshots if that helps?

            Thanks so much

            1+
            • Venutius on April 30, 2018 at 8:12 am
            • Author

            Hi Matt, As requested I’ll email you directly.

            0
    • V Kecman on June 29, 2018 at 11:25 am

    Reply

    After adding some shortcodes to the page, we get these errors (see below).
    What went wrong? I can provide complete error info.

    Warning: Illegal string offset ‘option’ in …

    Warning: Illegal string offset ‘option’ in…

    Fatal error: Uncaught Error: Call to undefined function bp_get_messages_slug() in …

    0
      • Venutius on June 29, 2018 at 11:44 am
      • Author

      Reply

      Sorry to hear about the errors, can you let me know which shortcodes you were using?

      0
      • Venutius on June 29, 2018 at 11:49 am
      • Author

      Reply

      This error “Fatal error: Uncaught Error: Call to undefined function bp_get_messages_slug() in …” points to some other problem on your system, I’ve checked and this BuddyPress function should be there in the current version of BuddyPress, so if you are getting this error them either BP is not loading correctly or you do not have messaging enabled.

      0
      • Venutius on June 29, 2018 at 11:51 am
      • Author

      Reply

      Also, my plugin does not use the offset ‘option’ so I’m unclear how it could be causing this error.

      0
    • Nathan on August 20, 2018 at 11:27 pm

    Reply

    Hey Venutius,

    I keep getting “The Tab Name Is Invalid” or “The Field Name Is Invalid” even when I follow your trouble shooting steps and use base and name.

    0
      • Venutius on August 21, 2018 at 4:12 pm
      • Author

      Reply

      Hi Nathan,

      Sorry to hear you are having issues, I can’t replicate your issue, in that I can request the Name field from the Base tab and it displays the users name as expected. Not sure what to suggest.

      0
    • Blake Bailey on September 26, 2018 at 4:44 am

    Reply

    Hello!

    I love the plugin, and tried to comment something similar before so my apologies if it did go through and this is a duplicate.

    I’m trying to use an xprofile field value as the ‘user_id=’ in a few of the shortcodes, but am having no luck. The reason being that I am matching users of my site up and would like to display a user’s “match” on a particular page, which ofcourse will be different based on whomever the user is looking at the page.

    So I’ve set a matching user’s ID as each user’s xprofile field value for a field called ‘Match 1 ID’ and would like a few different shortcodes to run this: user_ID=’Match 1 ID’

    I’ve tried using the profile fields shortcode in that spot but it doesn’t work. Any ideas?

    0
      • Venutius on October 6, 2018 at 11:40 am
      • Author

      Reply

      Hi there, the way the plugin works is if there is no entry for the user_id then it will use the logged in (user_id of the person viewing the page) user id for the look up. if the user_id is specified then it must be a valid numeric value for that user. I think you’d need to customise the plugin in order to get the functionality you are looking for.

      1+
    • Max on October 15, 2018 at 8:07 pm

    Reply

    Hi, I too have the problem with “The tab name is invalid” when trying to get xprofile fields.

    0
      • Venutius on October 15, 2018 at 8:19 pm
      • Author

      Reply

      Hi Max, we are discussing it here and think the solution is to switch to Text mode in the editor when writing the shortcode.

      0
    • Kara on November 6, 2018 at 12:11 am

    Reply

    Hi I tried using this to expose the Name field [bpps_profile_field field=”Name” tab=”Base” ] and I’m still getting the Tab name invalid even with making sure I’m in Text mode.

    Is there anyway I can send you a screenshot of what I have?

    0
      • Venutius on November 6, 2018 at 11:39 am
      • Author

      Reply

      Hi Kara, Sorry to hear you are having issues. My problem is that it works fine on my test server so it’s been a difficult one to track down. Maybe I could get access to your system to see what’s going on? you can email me at venutius at buddyuser.com.

      0
      • Venutius on November 10, 2018 at 9:29 am
      • Author

      Reply

      Hi Kara, I’ve updated the plugin to include two methods of displaying the users profile fields, I’ll update this page with details.

      0

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.