Linking Gravity Forms to BuddyPress Forums

  • Posted on: 25 June 2015
  • By: Shawn DeWolfe
I was posed with problem: make BuddyPress forum topics from a Gravity Forms form submission. Turning Gravity Form submissions into posts isn't a big party trick-- that is built in. What doesn't work, is the linkage to a particular forum as a new topic. So: I did some hacking (see the code below).
  • I made a gravity form
  • I have it posting to the post_type for topics
  • I put in a hidden value with the label of "forum_id" and the number for that forum id as the default value for the hidden value
  • I had an existing plugin that was mine. I added the code below to listen for Gravity Form events and then act on the submission.
  • WordPress will do the submission, save the post, then go to this function to act and create linkage between the form submission and a forum.
// publish and associate the form

function sboxr_application_submission( $entry, $form ) {
	if (function_exists('bbp_update_forum')) {
	    //getting post
    	$post = get_post( $entry['post_id'] );

	    //changing post content
	    foreach ($form['fields'] as $key => $values) {
    		if ($values['label'] == 'forum_id') {
    			$post->post_parent = $values['defaultValue'];
    			break;
    		}   
	    }

		$forum_meta = array(
			'forum_id' => $post->post_parent,
			'topic_id' => $post->ID,		
			'comment_status' => 'open'
		);
		$post->comment_status = 'open';	
		$post->post_status = 'publish';

		bbp_update_forum(array('forum_id' => $post->post_parent));
	    //updating post
		wp_update_post($post);
	
		foreach ( $forum_meta as $meta_key => $meta_value ) {
			update_post_meta( $post->ID, '_bbp_' . $meta_key, $meta_value );
		}	
	}
}

// Hook to make the gravity form submission to connect to forum post creation
add_action( 'gform_after_submission_2', 'sboxr_application_submission', 10, 2 );
Tags: 

Last updated date

Thursday, June 25, 2015 - 15:29