Skip to:
Content
Pages
Categories
Search
Top
Bottom

Would this plugin be possible? Adding another tab to a BP group to allow us to display ANYTHING in i

  • Avatar of rossagrant
    rossagrant
    Participant

    @rossagrant

    Hi there,
    Just wondering if a plugin would be at all possible to add to another tab to a group (like group documents does) but to allow us to place anything in it like text HTML etc?
    It would effectively be a blank page on a group that you can add anything to as an admin and obviously needs to be independent for each group.

    What’s the general concensus?

Viewing 12 replies - 1 through 12 (of 12 total)
  • Avatar of Boone Gorges
    Boone Gorges
    Keymaster

    @boonebgorges

    Sure, it’s easy to do.

    Use the BP Group Extension API: http://codex.buddypress.org/developer-docs/group-extension-api/

    Basically, each method will be blank, except for the first one (my_group_extension(), or whatever you rename it to) and display(). You will probably also want to disable the create step and the edit step, as under “Optional Parameters”.

    Avatar of rossagrant
    rossagrant
    Participant

    @rossagrant

    Wow, thanks for the quick reply.
    I’m totally new to BP and WP and have no idea where to start coding a plugin myself but at least I know it’s possible. Where can I read up on this and how long would it take to create? I might need 2 extra tabs on the groups with each one having a page that only I can edit with text or a html widget. How would I edit the pages? Could that be done in the front end of the site but only be accessible to me?

    Avatar of Boone Gorges
    Boone Gorges
    Keymaster

    @boonebgorges

    If you follow the instructions I gave above, you’ll have to edit the content of the screen by typing HTML directly into display() in the plugin. It’s a bit more complicated to make the pages editable by you on the front end.

    The code on the codex page will actually function as a plugin, so that’s a good place to start. Instead of a stand-alone plugin, the easiest thing is to drop it inside of bp-custom.php (and if you don’t have a bp-custom.php already, create one in your plugins directory). Start playing around with the code to see what each part does.

    You’ll need a separate class (the code on that page counts as a single class), with a different name, for each new tab.

    Avatar of rossagrant
    rossagrant
    Participant

    @rossagrant

    Cheers Boone, I need to read up on this and experiment.

    Basically one of the tabs I am needing to create needs to have a separate piece of html code in it which will be DIFFERENT for each group.
    How can I achieve this? Effectively it’s a different widget for each group and I have 2000 groups. The widget calls for the latest price of a stock on the stock market and is unique to each group. That’s why I’d love to be given a text box on the page in that tab that I, as Admin could paste code into, so it can be different in each group.

    Thanks so much for the help so far. If I find it a bit too diffficult to do this by the way, is there anywhere I can pay a developer to do this and do you know how big a job it would be, costs etc?

    Hohum. With the Groups API, it’s just a case of storing a different setting for each group… this is very typical use case and is straightforward to day for an experienced programmer..

    We close threads if people are looking for work, and ask them to contact you directly if anyone is interested. Will leave open for now.

    Avatar of rossagrant
    rossagrant
    Participant

    @rossagrant

    Cheers Paul,
    I have only just started up using WP and BP and although I’m learning how to use the software, the programming side of stuff is a little out of my depth for now so I didn’t know if people around this site would actually do work for you if requested.

    Is there a section of the site where you can advertise work?
    Thanks.

    Avatar of techguy
    techguy
    Participant

    @crashutah

    @rossagrant,
    This is a pretty straight forward plugin for most developers. Only variable might be how you want to get the latest price of a stock on the stock market. If you try to automate that, it might take a little work to figure out that automation. Otherwise, most developers on here could do it.

    If you want to pay someone to do it, just say so and people can contact you through your profile if you’re interested. There are a number of people on this site that do that type of work. Just depends what’s on their plate at the time. There’s not really a separate place to advertise work for now. Maybe we should create a tag for it and admins can make sure the tags applied before the lock the thread.

    Avatar of Boone Gorges
    Boone Gorges
    Keymaster

    @boonebgorges

    Make sure that when using the Group Extension API, you change the class name and the name of the init method to match the name in bp_register_group_extension() call at the end. So, in the file that you sent me, since you say bp_register_group_extension( ‘New_Tab’ ), make sure that at the beginning of the file you have class New_Tab extends BP_Group_Extension and function New_Tab.

    Avatar of Shaun MacRae
    Shaun MacRae
    Participant

    @shaunmacrae

    I was looking for the exact same thing as @rossagrant when I found this thread (a basic empty custom tab that admins can add content to). I’ve tried using the Group Extension API per the documentation, but the code seems to be unaware of the API when it gets processed. I get an error saying it doesn’t know what BP_Group_Extension is. If I remove the extends from my class, it falls over at the bp_register_group_extension call.

    I have put the sample code word-for-word in my bp_custom.php file (per @boonebgorges).

    I am a developer, but am new to wordpress/buddypress dev. I’m using latest versions of WP/Buddpress.

    Thanks for any pointers.

    Avatar of caplain
    caplain
    Member

    @caplain

    I experienced the same issue as @shaunmacrae. I’m assuming /plugins/bp-custom.php is loaded before /plugins/buddypress/bp-groups/bp-groups-classes.php. So, I put my new class in /plugins/bp-group-project-ext.php and added the following to /plugins/bp-custom.php:

    function group_project_plugin_init() {
    require( dirname( __FILE__ ) . ‘/bp-group-project-ext.php’ );
    }
    add_action( ‘bp_init’, ‘group_project_plugin_init’ );

    This works, but I’m not sure if it’s the appropriate or most elegant solution.

    Avatar of caplain
    caplain
    Member

    @caplain

    Do any of you know to remove tabs/pages added by extending BP_Group_Extension from the group create steps?

    Avatar of johnny2011
    johnny2011
    Member

    @johnny2011

    can this be a plugin?

    +1

Viewing 12 replies - 1 through 12 (of 12 total)

You must be logged in to reply to this topic.