This plugin hasn’t been tested with the latest 3 major releases of WordPress. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.

BP Profile Widgets


These widgets were originally developed for the Towermix Network at Belmont University’s Curb College of Entertainment and Music Business. The BP Profile Widgets allow BuddyPress users to embed a music player, video player, photo gallery, and/or a custom text widget on the sidebar of the user’s profile page using custom profile fields from their profile form. This plugin requires that BuddyPress be installed and activated. This plugin will create all the custom profile fields needed, based on which widgets are selected for use.


  • Users can embed one of the following music players: Bandcamp, Tunecore, Reverbnation, Noisetrade, Mixcloud, or SoundCloud.
  • Users can embed one of the following slideshow galleries: Flickr, Picasa, Photobucket, Fotki, Smugmug, or dotPhoto.
  • Users can embed one of the following video players: YouTube, Vimeo, Veoh, DailyMotion, Facebook, Flickr,,, Hulu,, Viddler, Qik, and uStream
  • Users can display a customizable text message, including HTML, in the Text Box widget
  • Users can display a RSS feed on their profile in the RSS widget
  • A description field is included for each media widget allowing the user to explain their involvement.
  • Widget options for width and height of the slideshow.
  • Widget options for width and aspect ratio of the video player.
  • Widget options for item quantity for the RSS feed display.
  • Uses WordPress functions to fetch the oEmbed media players.
  • Uses WordPress transients to speed up loading players
  • Widgets only appear on Profile pages
  • Widgets can be hidden if they don’t contain data


  • Music Player Widget options
  • Photo Gallery Widget options
  • Video Player Widget options
  • Text Widget options
  • Bandcamp player
  • Tunecore player
  • Reverbnation player
  • Noisetrade player
  • Soundcloud Set player
  • Flickr Slideshow
  • Picasa Slideshow
  • Photobucket Slideshow
  • YouTube player
  • Vimeo player
  • Facebook player
  • Text Widget on page


  1. Install and activate BuddyPress
  2. Upload the BP Profile Widgets folder to the /wp-content/plugins/ directory
  3. Activate the plugin through the ‘Plugins’ menu in WordPress
  4. Select how many copies of each widget(s) you want to use on the BP Profile Widgets page under the ‘Settings’ menu
  5. Drag one of the BP Profile widgets to a sidebar on the ‘Widgets’ page under the ‘Appearance’ menu
  6. If you opted to create more than one instance of a widget, select the instance number on each widget used.


What will I need to do if I’m switching over from the previous versions of the BP Profile Widgets?

This is a ground-up rewrite of each of the following plugins:
* BP Profile Music Widget
* BP Profile Video Widget
* BP Profile Text Widget
* BP Profile Gallery Widget

This plugin is mutually exclusive from those and will require your members to enter the proper URLs to make these players work. Fortunately, this new information is much simpler to find than digging through code to find obscure codes and IDs.

Do I need to create any custom profile fields to make these widgets work?

No. The plugin will create the “Profile Widgets” field group and any fields needed for the widget(s) you select on the plugin settings page.

How do my users use these widgets?

They will have two fields to fill out for each widget (except the Text Box widget): URL and Role.

The URL field will contain the URL for whatever relates to that widget.

The Role field is just a description of how the person relates to the content being shown. For example, on the Video Player widget, if they display a video, the Role field would explain what they did in/for the video: actor, writer, producer, etc.

What players are available for the Music Player widget?

Bandcamp, SoundCloud, Tunecore, Reverbnation, Mixcloud, or Noisetrade. The user will need to enter the correct URL to make it work properly:

  • Bandcamp album:
  • SoundCloud set:
  • Noisetrade public profile:
  • Reverbnation public profile:
  • Tunecore public profile:
  • Mixcloud:
What players are available for the Video Player widget?

YouTube, Vimeo, Veoh, DailyMotion, Facebook, Flickr,,, Hulu,, Viddler, Qik,, and uStream. The user will need to enter the correct URL to make it work properly:

  • YouTube long:
  • Youtube short:
  • Vimeo:
  • Veoh:
  • DailyMotion:
  • Facebook:
  • Flickr:
  • uStream highlight:
  • uStream channel:
  • uStream:
  • Hulu:
  • Revision3:
  • Viddler:
  • Qik:
  • Wistia:
  • Vine:
What galleries are available for the Photo Gallery widget?

Flickr, Picasa, Photobucket, Fotki, Smugmug, and dotPhoto. The user will need to enter the correct URL to make it work properly:

  • Flickr set:
  • Picasa gallery:
  • Photobucket album:
  • Fotki public gallery:
  • dotPhoto album link:
  • Smugmug:
Can people use HTML in the Text Box Widget?


Could I use the Text Widget for another player of some kind?

Unfortunately not. The santization for the text field removes embed codes and the like. Simple HTML (like links) still works.

How do I hide these custom profile fields so they don’t show on people’s profile pages?

The profile fields created by this plugin are set to only be seen by the user and admin’s only. People looking at a user’s profile page shouldn’t see any of these fields.

How do I make one or all of the widgets appear only on the user’s profile page?

This has changed as of version 0.2. Now, the widgets will only appear on the profile pages.


སྤྱི་ཟླ་ལྔ་པ། 3, 2017
Hi there love the plugin and was working perfect but noticed recently that it stopped working on my site, not sure when I assume it was after an update to wordpress or buddypress or another plugin but cant seem to get it to work at all now
སྤྱི་ཟླ་དགུ་པ། 3, 2016
I have been using your plugin in my new development and must say it is awesome. After my initial puzzling of getting things in the right order I find it a great addition to my site, and think it will be an appreciated function to my members. I am hoping you will eventually add group widgets options soon because then it will be even better. Thanks and looking forward to your future plugins. [ Signature moderated ]
Read all 5 reviews

Contributors & Developers

“BP Profile Widgets” is open source software. The following people have contributed to this plugin.


Translate “BP Profile Widgets” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • BUG FIX: Resolved the weird issues with upgrades. Eliminated many notices for new array items that aren’t filled yet.


  • BUG FIX: Text widget display error fixed. Field name was incorrect from previous versions.
  • Added more items to be translated.


  • BUG FIX: the text widget was calling the bppw_get_profile_data() function, but didn’t have the global $slushman_bp_profile_widgets declared at the top of the function. I fixed that issue on each widget now.


  • Multiple Instances are possible now! You can have up to 5 of each widget on a profile.
  • Added files and formatting for i18n.
  • Fixed “hide if empty” option on all widgets.
  • Added bppw_get_profile_data(), which returns profile field data. For the first instance of a widget, it uses the field name without numbers and then begins using numbers based on the results of the first query.
  • Music Widget: removed all functions related to fetching data from DOM. Doesn’t work on every server.
  • Music Widget: removed find_service_from_url(), it was replaced in the last version and there’s no reason to keep it.
  • Music Widget: simplified find_service() to make it DRY.
  • Music Widget: simplified find_id() to go straight to finding the ID on page.
  • Music Widget: resolved bug that caused some players to display as “page cannot be found”
  • Music Widget: added albumortrack() to figure out if the URL is for an album, track, or is invalid
  • Music Widget: removed $args from widget_output() call
  • Video Widget: added, Vine, and Wistia.


  • BUG FIX: Changed find_service_on_page() to actually work.


  • BUG FIX: Added PHP config checking to resolve server errors with fetching service and IDs from URLs
  • Separated find_ID_on_page into three separate functions to allow for PHP config differences


  • Added RSS feed widget to display an RSS feed on a profile page
  • Changed Music Player widget to support custom URLs (like for Bandcamp)
  • Added find_service() function to expand options for determining the service
  • Added find_service_from_url() function to music player widget
  • Added find_service_on_page() function to music player widget
  • Added find_ID_on_page() function to music player widget
  • Made wp_remote_get() a separate variable in the toolkit function find_on_page()
  • Music player service and ID are stored in a transients to make page reloading faster
  • BUG FIX: Removed URL echo from video widget – oops.


  • BUG FIX: Updated the album ID search parameters for the version 2 player.


  • BUG FIX: Profile fields were leaving data in the database when widgets were unchecked. This has now been resolved, all databases entries related to a profile field are removed when a widget is unchecked.
  • Each widget can now be hidden if the data for that widget is empty instead of displaying the empty message.


  • Widgets now only appear on profile pages.


  • Added config.php.


  • Plugin created.