How to customize Post a Request form

I am currently customizing the request submission workflow on my website (batsira.com). My goal is to completely remove the default core fields (Budget, Title, Description, Location, and Images) from the “Add Details” step, as I want to rely entirely on the custom attributes I have configured under Requests > Attributes.

I have tried multiple PHP code snippets using hivepress/v1/forms/request_submit and hivepress/v1/models/request/attributes to set these core fields as optional, hide them, or inject default placeholder values. However, the multi-step submission wizard continues to block the user with validation error loops (such as “‘Budget’ field is required” or “‘Description’ field is required”), even when the fields are hidden or omitted.

Could you please provide the correct or recommended developer snippet, template customization approach, or dashboard configuration to cleanly bypass or disable the default “Add Details” form step so that users only see and fill out my custom request attributes?

Thank you for your time and assistance!

Hi,

Please use the following snippet and adjust it to your needs:

add_filter(
	'hivepress/v1/forms/request_update',
	function( $form ) {
		unset( $form['fields']['description'] );
		
		return $form;
	},
	1000
);

add_filter(
	'hivepress/v1/models/request',
	function( $model ) {
		$model['fields']['description']['required'] = false;

		return $model;
	},
	1000
);

The first part removes the field from the form, while the second part makes the field optional.

Hope this helps

Hi kseniia

The code snippet is working to remove the other fields from the form, but the Budget and Location fields are still showing a validation error (“Budget” field is required). Please help with correct code to remove the stubborn ones or you can do it for me, I did this:

add_filter(
‘hivepress/v1/forms/request_update’,
function( $form ) {
unset( $form\[‘fields’\]\[‘description’\] );
unset( $form\[‘fields’\]\[‘title’\] );
unset( $form\[‘fields’\]\[‘budget’\] );
unset( $form\[‘fields’\]\[‘location’\] );
unset( $form\[‘fields’\]\[‘images’\] );

	return $form;
},
1000);
add_filter(
‘hivepress/v1/models/request’,
function( $model ) {
$model\[‘fields’\]\[‘description’\]\[‘required’\] = false;
$model\[‘fields’\]\[‘title’\]\[‘required’\] = false;
$model\[‘fields’\]\[‘budget’\]\[‘required’\] = false;
$model\[‘fields’\]\[‘location’\]\[‘required’\] = false;
$model\[‘fields’\]\[‘images’\]\[‘required’\] = false;

	return $model;
},
1000);

Regards,

You can disable the location field for specific content types in WordPress Dashboard > HivePress > Settings > Geolocation > Content Types.

This setting controls which post types (such as listings, vendors, or requests) should use the location field. Simply disable it for the content types where you don’t need location functionality.

The snippet for hiding the budget field can be found in our code snippets collection: Hide the budget field from the request forms #hivepress #requests · GitHub.

Hope this helps