Re: Customizing Buddypress for a non-profit social networking site
@gyonis – the post has only been up 21 hours, and also is quite intimidating to read through (it may have been better to ask each question individually!)
Any some pointers:
Q1. You’ll need to write some PHP code, and also understand the BuddyPress hook function concepts.
There are already some posts on modifying the admin bar, e.g. https://codex.buddypress.org/how-to-guides/modifying-the-buddypress-admin-bar/
If your list of blogs is fixed, it should be straightforward. If you want it to dynamically add newly created blogs to the dropdown list, I suggest taking a look at the code in /plugins/buddypress/themes/bp-default/blogs/index.php as a starting point
Q2. I suggest setting up a blog in your install for the NGO Directory, with new users added as contributors… they would then be able to create posts in that blog, but it would need your admin approval before the post goes live.
You could then use categories for each country, and tags to say what type of NGO they are (or simply have another set of orthogonal categories for type). For a simple ‘code free’ solution, you would then just put a sidebar widget in that provides a menu of all the categories and / or tags.
[A more powerful solution (extra features for the NGO), would be to give them an entire blog, instead of a single post for their organisation… although tagging and categorising blogs is / was a nightmare (Burt Adsit did some work on this, but I think it is out of date now).]
[Perhaps the best solution would be to add NGO’s as a different type of member in BuddyPress. i.e. users can register as themselves or as their NGO… Create a BuddyPress group to hold the NGO members, and have country, etc. as searchable fields in the profile. We gave up on a similar 2 types of member project, but there the challenges were considerable, yours may well work with this approach.]
Q3.1.1 You can add additional fields using the ‘custom field’ area of the edit post form. This isn’t particularly user friendly though, so you might want to look instead at something like the flutter plugin, which lets you define separate fields.
Q3.2 Posting from the front end is the ‘Holy Grail’ ! Check out P2 Blog… a theme that was developed by WordPress / Automattic, but seems to have gone very quiet. My wild speculation: @Andy (the developer of BuddyPress) wrote a blog post about P2… I wonder if that means we can look forward to the P2 blog front end features making an appearance in BuddyPress soon. Any comment @Andy?
To do what you want, you’ll definitely need some development skills (PHP), a decent working knowledge of WordPress code, and an idea where to start investigating the BuddyPress code (I doubt if anyone apart from Andy has a good working knowledge of it).