Skip to:
Content
Pages
Categories
Search
Top
Bottom

Create Groups and Forums for groups from PHP


  • thegarnet
    Participant

    @thegarnet

    I found the excellent article by Tanner Moushey on how to create groups programmaticaly: https://tannermoushey.com/2014/08/create-groups-buddypress/

    However I also need to create a forum for each group, and I can’t get his suggestion of using groups_new_group_forum to work. I read other posts of getting function doesnt exist error for bp_forums_new_forum (which groups_new_group_forum calls), but I believe I found the right requires to get that function, and everything it depends on, but now I am getting an error about null several layers down within bb code.

    Here is my code so far:

    <?php
    /* Show the errors in browser */

    error_reporting(E_ALL);
    ini_set('display_errors', 1);

    /** Load WordPress Bootstrap */
    require_once( dirname( __FILE__ ) . '/../admin.php' );

    /** Load WordPress dashboard API */
    require_once(ABSPATH . 'wp-admin/includes/dashboard.php');

    wp_dashboard_setup();

    do_action('bbpress_init');

    ?>

    <H1>Add Groups</H1>

    <?php

    $args = array(
    'group_id' => 0,
    'creator_id' => 0,
    'name' => 'California',
    'description' => 'For people located in California',
    'slug' => 'california',
    'status' => 'public',
    'enable_forum' => 1,
    'date_created' => bp_core_current_time()
    );

    ?>

    <p>Creating group '<?php echo $args[name] ?>'</p>

    <?php

    $newgroupid = groups_create_group($args);

    ?>

    <?php

    ////////////////////////////
    // Now creating a new forum

    // Not needed for get groups_create_group - this already got included
    // require_once(ABSPATH . 'wp-content/plugins/buddypress/bp-groups/bp-groups-forums.php');

    // For bp_forums_new_forum
    require_once(ABSPATH . 'wp-content/plugins/buddypress/bp-forums/bp-forums-functions.php');

    // For bb_new_forum
    require_once(ABSPATH . 'wp-content/plugins/buddypress/bp-forums/bbpress/bb-includes/class.bb-walker.php');
    require_once(ABSPATH . 'wp-content/plugins/buddypress/bp-forums/bbpress/bb-admin/includes/functions.bb-admin.php');

    // For bb_current_user_can
    require_once(ABSPATH . 'wp-content/plugins/buddypress/bp-forums/bbpress/bb-includes/functions.bb-capabilities.php');

    // Example from: http://buddypress.wp-a2z.org/oik_api/groups_new_group_forum/
    $newforumid = groups_new_group_forum($newgroupid,'California','For people located in California');

    ?>

    <table>
    <tr><td>Newly created group id:</td><td><?php echo $newgroupid ?></td><td>Groups</td>
    </tr>
    <tr><td>Newly created forum id:</td><td><?php echo $newforumid ?></td><td>Forums</td>
    </tr>

    </table>

    It throws this error:

    Fatal error: Uncaught Error: Call to a member function get_var() on null in /Users/eyespider/projects/justiceserved/local/wp-content/plugins/buddypress/bp-forums/bbpress/bb-admin/includes/functions.bb-admin.php:992 Stack trace:
    #0 /Users/eyespider/projects/justiceserved/local/wp-content/plugins/buddypress/bp-forums/bp-forums-functions.php(123): bb_new_forum(Array)
    #1 /Users/eyespider/projects/justiceserved/local/wp-content/plugins/buddypress/bp-groups/bp-groups-forums.php(47): bp_forums_new_forum(Array)
    #2 /Users/eyespider/projects/justiceserved/local/wp-admin/custom/add-groups2.php(67): groups_new_group_forum(38, 'California', 'For people loca...')
    #3 {main} thrown in /Users/eyespider/projects/justiceserved/local/wp-content/plugins/buddypress/bp-forums/bbpress/bb-admin/includes/functions.bb-admin.php on line 992

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

  • Robkk
    Moderator

    @robkk

    So you are trying to configure BuddyPress with its own inbuilt bbPress v1 forums? I think the bbPress v1 in BuddyPress (BP Forums) has issues in the last few major version of BuddyPress.

    Why not look into just using the latest version of bbPress v2 and BuddyPress and use BuddyPress’ groups feature with bbPress.

    https://codex.buddypress.org/getting-started/installing-group-and-sitewide-forums/


    thegarnet
    Participant

    @thegarnet

    Robkk,

    I am already using
    * WordPress 4.6
    * bbPress 2.5.10
    * BuddyPress 2.6.2

    It seems all these are the latest at this time.


    thegarnet
    Participant

    @thegarnet

    Robkk,

    I followed the settings in the article you mentioned to enable allow BuddyPress Groups to have their own forums.

    From the UI I am able to create a new group, and request that group have a forum, and both the group get created and appear in the group and forum lists.


    Robkk
    Moderator

    @robkk

    So everything is good now?

Viewing 4 replies - 1 through 4 (of 4 total)
  • You must be logged in to reply to this topic.
Skip to toolbar