Ensure that you have WooCommerce installed. Then upload the contents via ftp or ssh to the file directory of your wordpress site under wp-content/plugins/
Product Settings
Once installed, change the price of the items you want displayed as quotable items to ZERO. You will notice that on the front end, your quotable item buttons have changed. You can also choose to modify products based on tags in the settings menu.
RFQ Page
You can change the page where all quotation requests are made from the default under the settings menu.
Proposal Settings
Add details under the terms meta box in the quote order to present terms for the proposal.
Add an expiration date that shows valididy of the proposal. If the date exceeds, the expiration date, the user will not be able to move forward to pay based on the offer.
Hooks To Change Elements
RFQ Form
RFQ Page product list heading
add_filter(‘boopis_rfq_page_item_title’, ‘your_function_to_change_page_item_heading’);
RFQ Page details form heading
add_filter(‘boopis_rfq_page_details_title’, ‘your_function_to_change_page_details_heading’);
RFQ Page when products have not been added to list
add_filter(‘boopis_rfq_page_empty_text’, ‘your_function_to_change_page_text’);
more to come…
RFQ Emails
RFQ Proposal Page
Modify / Remove / And Add New Form Fields
List of fields to modify (based on wc checkout):
['billing']['billing_first_name']
['billing']['billing_last_name']
['billing']['billing_company']
['billing']['billing_address_1']
['billing']['billing_address_2']
['billing']['billing_city']
['billing']['billing_postcode']
['billing']['billing_country']
['billing']['billing_state']
['billing']['billing_email']
['billing']['billing_phone']
['order']['order_comments']
Modifying or removing existing fields
// Hook in to form
add_filter( 'boopis_rfq_form_fields' , 'custom_override_rfq_fields' );
// Our hooked in function - $fields is passed via the filter!
function custom_override_rfq_fields( $fields ) {
// Remove billing first and last name
unset($fields['billing']['billing_first_name']);
unset($fields['billing']['billing_last_name']);
// Make phone number optional
$fields['billing']['billing_phone']['required'] = false;
// Modify name and class of postcode
$fields['billing']['billing_postcode'] = array(
'label' => __('Zip Code', 'woocommerce'),
'placeholder' => _x('Zip Code', 'placeholder', 'woocommerce'),
'required' => false,
'class' => array('form-row-wide'),
'clear' => true
);
return $fields;
}
Adding new custom fields
Add the new field
// Add new custom field
add_action( 'boopis_rfq_after_order_notes', 'custom_select_referal_rfq' );
function custom_select_referal_rfq( $rfq ) {
woocommerce_form_field( 'referal', array(
'type' => 'select',
'class' => array('form-row-wide'),
'label' => __('How did you hear about us?'),
'required' => true,
'clear' => false,
'options' => array(
'' => __('Select Option', 'boopis-woocommerce-rfq' ),
'friend' => __('Friend', 'boopis-woocommerce-rfq' ),
'coworker' => __('Coworker', 'boopis-woocommerce-rfq' )
),
), $rfq->get_value( 'referal' ));
}
Validate the new field
// Validate new custom field
add_action('boopis_rfq_process', 'custom_select_referal_rfq_process');
function custom_select_referal_rfq_process() {
// Check if set, if its not set add an error.
if ( empty($_POST['referal']) ) {
wc_add_notice( __( 'You must select the referal field.' ), 'error' );
}
}
Update the new field
// Update new custom field
add_action( 'boopis_rfq_update_order_meta', 'custom_select_referal_update_order_meta' );
function custom_select_referal_update_order_meta( $order_id ) {
if ( ! empty( $_POST['referal'] ) ) {
update_post_meta( $order_id, 'Referal', sanitize_text_field( $_POST['referal'] ) );
}
}
See WooCommerce Docs for more details.
Change redirect url
Add the shortcode [boopis_rfq] to your tahnk you page “My Page Name”
// Change redirect url
add_filter( 'boopis_rfq_redirect_url', 'my_custom_redirect_url' );
function my_custom_redirect_url() {
$page = get_page_by_title( 'My Page Name' );
return get_permalink( $page->ID );
}