Set Post Status by Product Field Value

Read the Walkthrough


Filename: gw-set-post-status-by-product-field-value.php

 * Gravity Wiz // Gravity Forms // Set Post Status by Product Field Value
// Update "123" to the ID of your form.
add_filter( 'gform_post_data_123', 'gform_dynamic_post_status', 10, 3 );
function gform_dynamic_post_status( $post_data, $form, $entry ) {

	// update "4" to the ID of your custom post status field
	if ( $entry[4] ) {
		$values = explode( '|', $entry[6] );
		switch ( $values[0] ) {
			case 'Basic Package':
				$post_data['post_status'] = 'draft';
			case 'Premium Package':
				$post_data['post_status'] = 'publish';

	return $post_data;

Leave a Reply

Your email address will not be published. Required fields are marked *

  • Trouble installing this snippet? See our troubleshooting tips.
  • Need to include code? Create a gist and link to it in your comment.
  • Reporting a bug? Provide a URL where this issue can be recreated.

By commenting, I understand that I may receive emails related to Gravity Wiz and can unsubscribe at any time.