Installation Guide
This plugin is a premium extension to the WooCommerce plugin. You must have the WooCommerce plugin already installed. Kindly deactivate PE or PEP if installed and activated.
- Upon purchasing QuoteUp, an email will be sent to the registered email id, with the download link for the plugin and a purchase receipt id.
- Download quoteup.zip using the download link.
- In your admin panel, go to Plugin-> Add New menu and click on the ‘Upload Plugin’.
- In the file upload option, select ‘quoteup.zip’ and click on Install Now.
After the plugin has installed successfully, proceed to activating the plugin by clicking on the Activate Plugin link or activate it from your Plugins page.
Activating the License
- A QuoteUp License sub-menu will be created under Plugins menu in your dashboard. Click on this menu and enter your purchased product’s license key. Click on Activate License. If license is valid, an ‘Active’ status message will be displayed, else ‘Inactive’ will be displayed.
- Upon entering a valid license key, and activating the license, a QuoteUp menu will be created in your dashboard. Refer to the detailed User Guide for additional settings.
User Guide
Upon installing and activating QuoteUp, a quote request button is added on every WooCommerce Product Page; and a QuoteUp menu option will be created, in the dashboard.
The settings of the plugin are available under this menu.
Index
The User Interface for QuoteUp
The Quote Request Button
- Upon activating the licensed plugin, a button labelled ‘Request a Quote’ will be added to each WooCommerce product page.
- By default, the button will be placed after the product description.
- The styling of the button or the button position can be changed from the admin settings of the plugin.
The Quote Request Dialog for Individual Quote Requests
Upon a user clicking the quote request button, a modal dialog appears. An interest customer can request for a quote by filling up the required fields and clicking on the ‘Send’ button.
The styling of the dialog and the field options can be changed using the admin settings of the plugin.
Quote Request for Multiple Products
Using the Multiproduct Quote option, you can allow users to request a quote for multiple products at once. Upon activating the option, the quote request button, turns into an add-to-quote-cart button. Customers can add multiple products to the quote cart, and then make a single quote request for all products at once.
A floating quote cart button, allows users to quickly access the products added to the quote cart.
The shopper can add a final message, fill in contact details and send the quote request email.
The Admin Interface for QuoteUp
Settings
Under Settings, you should find options, such as the visibility of the quote request button, form field settings, PDF settings, email settings and more.
General Settings
Enable/Disable QuoteUp for all Products
- Enable QuoteUp for all products?: This option allows you to toggle the display of the quote request button on all product pages. If you set the option as ‘Yes’, you can disable the display of the button for a single WooCommerce product, using an option in the ‘Add/Edit Product’ settings of the product.
- Out of Stock: Check this option, to display the quote request button only when a product is out of stock.
- Archive Page: If this option is checked, the quote request button is displayed on WooCommerce product archive pages such as ‘Shop’ and category archive pages.
Price and Add to cart visibility for all Products
- Show Price for all products?: This option toggles the display of the product price across all products.
- Enable Add to Cart for all products?: This option allows you to toggle the display of the ‘Add to Cart’ button for all WooCommerce products.
You can enable/disable the display of the product price or the ‘Add to Cart’ button for a single product, using an option in the ‘Add/Edit Product’ settings.
TIP: To convert WooCommerce into a cart only store, set both these options to ‘No’.
Enable/Disable Multiproduct Quote
Enable the Multiproduct Quote option to allow interested customers to request a quote for multiple products at once. The multiproduct quote functionality adds an ‘Add to Quote Cart’ button on all WooCommerce products. Customers can add products to the quote cart and then make a single quote request for all the products at once.
A floating/draggable quote cart option on the front-end allows customers to quickly navigate to the quote cart page.
Quote Cart Page
The quote cart page is where the products are displayed when they are added to the quote cart. To create this page here’s what you need to do:
- Create and publish a page and set it as the ‘QuoteUp cart page’.
- QuoteUp adds e [ENQUIRY_CART] shortcode on it to display the quote cart
Global Settings
This option allows you to apply the globally set values for ‘Show Price for all products?’, ‘Enable Add to Cart for all products?’ and ‘Enable QuoteUp for all products?’ across all individual products, and overrides the values set for these products.
PDF Settings
QuoteUp generates and sends a PDF each time you send a quote from your WooCommerce store to an interested customer. Under PDF Settings you can specify:
- Company Name
- Company Email
- Company Address
- Logo for PDF
These will be used to add your company’s information on the PDF template.
Quotation/Approval Rejection Page
You will need to create a quote approval/rejection page. This is the page a customer is redirected to when he/she clicks the ‘Approve/Reject Quote’ link in the email sent along with the quote.
To set this page:
- Create and publish a new page
- Set this as the ‘Approval/Rejection Page’ in QuoteUp
- QuoteUp automatically adds the [APPROVAL_REJECTION_CHOICE] shortcode on this page to handle the rest
Redirect Page URL
- Enter a page URL where a user has to be redirected to upon requesting for a quote.
- TIP: You can add a ‘Thank You’ page URL here, to track quote requests made in Google Analytics.
Form Options
- QuoteUp Button Label: Use this field to set the label for the quote request button. The value by default is “Request a Quote”.
- QuoteUp Button Location: You can choose to display the quote request button after the product summary, or at the end of the product page. By default, the button is displayed after the product summary.
- Display QuoteUp Button As a Link: If this option is checked the quote request button will be displayed as a link on the WooCommerce product page instead of a button.
- Display ‘Powered by WisdmLabs’: If this option is checked, ‘Powered by WisdmLabs’ text will be displayed on the quote request dialog box.
- Enable ‘Send me a copy’ Option: This option adds a checkbox option on the quote request dialog, to allow customers the option to receive a copy of the quote request email.
- Display Telephone Number Field: If this option is checked, a field for accepting the customer’s telephone is added to the quote request form. This field is not mandatory, even if present, i.e., a customer can choose not to fill it, but still send the request.
- Make Telephone Number Field Mandatory: If this option is checked, the telephone number field will be made mandatory for the end user.
- Select Country for Telephone Number Validation: Using this field you can select a country from the drop down list. Based on your selection the telephone number will be validated on the front end.
Email Settings
Emailing Information
- Recipient’s Email ID: By default the recipient email id value is set to admin email id. You can set multiple e-mail ids as well (e.g. [email protected], [email protected]). Every quote request made, will be sent to these email ids.
- Default subject: The value specified here is used to set the subject of the quote request email, in case the customer does not enter a subject. By default the value is “Quote Request from <website>”, where <website> is the name of your website.
Display Settings
Styling Options
- You can use the ‘Add Custom CSS’ field to add your own CSS that will be applied to the button and quote request form.
- Alternatively, you can color settings, by selecting ‘Manually specify color settings’ and picking the colors according to your preference.
Quote Details
Quote Details provides you with a list of all quote requests made for all products. in your WooCommerce store, along with customer details
- View: By default, a quick view of the quote requests made is displayed in a table. You can hover over the items quantity under the ‘Item’ field, to view the products added to the quote request.
- Sort: You can sort these details by ID, Customer Name, Customer Email or the Enquiry Date
- Delete: You can delete individual records, or select multiple records, and use the ‘Delete’ option under ‘Bulk Actions’ to delete multiple records at once.
- Export: Similarly you can select records to be exported or export all records using the ‘Export’ or ‘Export All’ action under ‘Bulk Actions’. These records will be exported as a CSV file. (Note: To view the CSV document, use ‘,’ as a separator).
Single Quotation Details
- To view details of a single quote request, you have to click on the quote ID.
Customer Data
The customer’s details are listed under ‘General Details’. You can edit the customer name or customer email id, using an edit option.
Product Details
The products added to the quote request are listed here.
You can set a new purchase price for these products, update the quantity and then send a quotation to the customer using the ‘Send Quotation’ option, or save and preview it using the ‘Save & Preview Quotation’ option.
- When you send a quotation, a PDF will be automatically generated and sent as an attachment via email.
- You have an option to add a custom message before sending the quotation.
Enquiry History
This keeps a log of the actions performed by the admin with respect to the quote request made.
Per Product Settings
On every product Add/Edit settings page there are options provided to toggle the display of
- the ‘Add to Cart’ button,
- the quote request button and
- the price for the product.
These options can be found next to the Update/Publish product option.
Do note: If the ‘Apply Global settings for individual product’ setting is checked, then global settings will be applied for every product. If individual product settings have to be applied then remember to uncheck this option under Settings -> Form Options.
Accept/Reject Quotation
Every quotation email sent to a customer contains a unique link which the customer can use to accept or reject the purchase quotation sent.
- Upon visiting the link, the customer has to enter his/her email Id to authenticate it
- If the customer accepts the quote, the products are added to the cart, and the customer is taken to the checkout page with the updated prices.
- If the customer selects the ‘Reject Quote’ option, he/she is asked the reason for rejecting the quote before rejecting it. The admin can then resend the quote.
Developer Documentation
Customizing Quote Request Form fields
How to Add Fields to the Quote Request Form?
QuoteUp provides a hook ‘quoteup_fields_<id>’ which you will need to use, to add/insert fields in the quote request form. The plugin supports the following fields
- Text
- Textarea
- Radio Buttons
- Drop-Down List
- Checkbox
- Multiple Select
For each field, you can set the field name, set a custom class, add label and a placeholder, mark as required, add a validation with a custom validation message, and a default value. You can specify, if the field value has to be included in the admin or customer email as well. To add a field above or below a particular field, you need to know the field id. The default quote request form has fields for name (custname), email (txtemail), telephone number (txtphone), subject (txtsubject) and message (txtmsg). We have to then create fields, and hook them to the form, by using the filter hook quoteup_fields_<field_id>
Quick Guide: Add a Field to the Quote Request Form
Copy paste the below code in a custom plugin or functions.php of your theme
function quoteup_add_new_field($qr_fields) { $new_field = array( /* the id of each field should be unique, do not include spaces or special characters except _ */ 'id' => '', /* you can specify a class, to style the element, there are two classes provided wdm-modal_text, wdm-modal_textarea, wdm-modal_radio To specify multiple classes, add classes separated by a space */ 'class' => '', /* specify the type of the field: text, textarea, radio, select, checkbox, multiple*/ 'type' => '', /* add a placeholder for a customer making the request */ 'placeholder' => '', /* specify if the field is required ‘yes’ or ‘no’ */ 'required' => '', /* add a message which has to be displayed, if the required field is not filled */ 'required_message' => '', /* specify a regular expression (excluding the leading and trailing /), to validate the field */ 'validation' => '', /* add a message which has to be displayed, if there is an error in validation */ 'validation_message' => '', /* if the value has to be added to the admin email sent, specify ‘yes’ else ‘no’ */ 'include_in_admin_mail' => '', /* if the value has to be added to the email sent to the customer, specify ‘yes’ else ‘no’ */ 'include_in_customer_mail' => '', /* add a label for the field, which will be used to save the field in the database */ 'label' => '', /* add a default value for text field or textarea */ 'value' => '', /* for radio buttons, checkbox, multiple select, dropdown, and select field, specify an array of options */ 'options' => '' ); // ****** IMPORTANT******** // the order of the fields specified will be decide the order in which fields will be displayed $qr_fields = array( $qr_fields, $new_field ); return $qr_fields; } /* replace <field_id> with custname, txtemail, txtphone, txtsubject, txtmsg */ add_filter( 'quoteup_fields_<field_id>' , 'quoteup_add_new_field' , 10, 1 );
Use Case 1: Add a Field Below an Existing Field
Let’s try adding a ‘Last Name’ field to the form, below the ‘Name’. The id of the name field, is ‘custname’.
- We will add a function, ‘quoteup_add_last_name’.
- The field id of the ‘Last Name’ field should be unique, so let’s set it as ‘lname’.
- We have to then hook this function to the filter, ‘quoteup_fields_custname’, so that the last name field is displayed next to the name field.
function quoteup_add_last_name($qr_fields){ $last_name = array( 'id' => 'lname', 'class' => 'wdm-modal_text', 'type' => 'text', 'placeholder' => 'Last Name', 'required' => 'no', 'required_message' => '', 'validation' => '', 'validation_message' => '', 'include_in_admin_mail' => 'yes', 'include_in_customer_mail' => 'no', 'label' => 'Last Name', 'value' => '' ); // ****** IMPORTANT******** // placing the field after $qr_fields, will place the last name, below the name field $qr_fields = array( $qr_fields, $last_name ); return $qr_fields; } /* since we will be adding this field next to the name field, hook the function on quoteup_fields_custname */ add_filter( 'quoteup_fields_custname', 'quoteup_add_last_name', 10, 1 );
Use Case 2: Add a Field Above an Existing Field
Let’s try adding a Radio Button field, for favorite color, above the ‘Subject’ field. The id of the Subject field is txtsubject.
function quoteup_add_favorite_color_options($qr_fields) { $favorite_color = array( 'id'=>'fav_color', 'class'=>'wdm-modal_radio', 'type'=>'radio', 'placeholder'=>'', 'required'=>'no', 'required_message' => '', 'validation' => '', 'validation_message' => '', 'include_in_admin_mail'=>'yes', 'include_in_customer_mail'=>'no', 'label' => 'Favorite Color', 'options' => array( 'one'=> 'Blue', 'two' => 'Red', 'three' => 'Yellow', 'four' => 'Green' ) ); // ****** IMPORTANT******** // adding the field before $qr_fields, will place the favorite color field, above the subject field $qr_fields = array($favorite_color, $qr_fields); return $qr_fields; } /* since we will be adding this field next to the subject field, hook the function on quoteup_fields_txtsubject */ add_filter( 'quoteup_fields_txtsubject', 'quoteup_add_favorite_color_options', 10, 1 );
Use Case 3: Adding a Simple Anti-Spam Field
You can add a simple anti-spam field, by asking a question, which would have an expected answer. E.g., you could ask, ‘2+2?’, and set the validation to 4.
function quoteup_add_anti_spam($qr_fields){ $anti_spam = array( 'id'=>'anti_spam', 'class'=>'wdm-modal_text', 'type'=>'text', 'placeholder'=>'2+2?', 'required'=>'yes', 'required_message' => 'Prove that you are human', 'validation' => '^4$', 'validation_message' => 'The answer should be 4', 'include_in_admin_mail'=>'no', 'include_in_customer_mail'=>'no', 'label' => 'Spam' ); $qr_fields = array( $qr_fields, $anti_spam); return $qr_fields; } add_filter( 'quoteup_fields_txtmsg' , 'quoteup_add_anti_spam' , 10, 1 );
How to Change Existing Fields in the Quote Request Form?
To change an existing field in the form, add a function on the hook of the field you want to change. For example, say you want to make the telephone field required, then you have to do the following:
function quoteup_update_telephone_field ($qr_fields) { $qr_fields['required'] = 'yes'; $qr_fields['required_message'] = 'Please enter a Telephone Number'; return $qr_fields; } /* hook the function on quoteup_fields_txtphone, since we are changing the telephone number field */ add_filter( 'quoteup_fields_txtphone' , 'quoteup_update_telephone_field' , 10, 1 );
How to Remove a Field from the Quote Request Form?
To remove a field, just add a function on the quoteup_fields_<id> hook, and return an empty array.
Note: Do not remove the name, and email fields.
function quoteup_remove_txtsubject_field( $qr_fields ) { return array(); } /* hook the function on quoteup_fields_txtsubject, since we want to remove the subject field */ add_filter( 'quoteup_fields_txtsubject' , 'quoteup_remove_txtsubject_field' , 10, 1 );
Change Log
ver 4.1.1
- Feature – Added a setting for custom label for ‘Enquiry’ and ‘Quote’.
- Feature – Added a setting for custom label for ‘View Enquiry/Quote Cart’.
- Feature – Added a setting for custom label for ‘Approve’ and ‘Reject’ button.
- Feature – Added a setting for message to be displayed after quote rejection.
- Feature – Added a setting to add date field with custom date label on the form.
- Fix – Made edit quote page responsive.
- Fix – Changed position of expiration date.
- Fix – Added support for woocommerce 2.4.
- Fix – Added support for variations fetched through ajax.
ver 4.1.0
- Feature – Added support for all variations of variable products.
- Feature – Provided bulk actions on products listing page to ‘enable/disable enquiry’, ‘show/hide price’ and ‘enable/disable add to cart’.
- Fix – CSS issue in some browsers.
- Fix – Made changes in session library to remove conflict with other plugins.
ver 4.0.2
- Fix – Fixed ‘Click Here’ link that wasn’t displaying in the generated PDFs.
ver 4.0.1
- Feature – Added support to variable products same as version 3.1.1 with some improvements.
ver 4.0
- Feature – Added quotation system.
- Feature – Improved quotation details layout (when quotation system is enabled).
- Feature – Receive quote request from customers.
- Feature – Create quotes and send it to your customers right from the dashboard.
- Feature – Auto-generation of quotation PDF.
- Feature – Product specific show or hide price on frontend.
- Fix – Improved the dashboard layout for both enquiry and quotation system.
- Fix – Fixed error with setting woocommerce cart page as enquiry cart.
- Fix – Displaying quote button for products which are displayed using any woocommerce shortcode.
- Fix – Product enquiry pro settings does not take effects on variable products.
Plugin Integrated with Product Enquiry Pro
ver 1.1.0
- New – Setting Expiration date for quote
- New – Filter Quotes by Status
- New – Added status,total and order number columns on quote details page.
- New – Added filters and actions on multiple places. Developers can use the filters and actions to extend the plugin.
- Fix – Allowed to create quotation if back orders are allowed.
- Fix – Solved issue with sold product individually where user was able to add multiple quantity.
- Fix – Displaying quote button for products which are displayed using any woocommerce shortcode.
ver 1.0.2
- New – Added filter for Enquiry bubble. Developers can use the filter to hide that bubble
- Improvement – Show tooltip for every setting on the settings page
- Improvement – Edit Quote Page responsive
- Improvement – Removed unwanted styling from the settings page
- Improvement – Removed grids from all tables
- Fix – Removed ‘Show Button as link’ and ‘Display WisdmLabs link’ settings
- Fix – Price is now shown along with currency in email
- Fix – Price not shown in customer email if the price is set to hidden on product page resolved
ver 1.0.1
- New – Allow admin to show/hide price on the frontend for products
- Fix – Not allowing admin to send quote if enough quantity is not available
- Improvement – Compatiblity with PHP 7.0
- Improvement – Added support for single quotes in the email subject and content
ver 1.0.0
- Plugin Released