Checkout the video to see how to setup a cart widget for the quote requests.
Checkout the video to see how to setup a cart widget for the quote requests.
Depending on your caching plugin you need to exclude dynamic pages and sometimes exclude cookies from cache. The pages to exclude are the quote request, product category (archive), shop and the product page. The most common problem caused by page caching is that items which are added to the quote cart cannot be found afterwards.
WP Rocket:
/wp-admin/options-general.php?page=wprocket#advanced_cache
Never Cache URL(s)
/quote-request/(.*)
/product-category/(.*)
/shop/(.*)
/product/(.*)
Never Cache Cookies
rfqtk_wp_session_
WP Optimize:
If are using Pantheon:
You could also change the session method to PHP Sessions as an alternative method.
The NP Quote Request WooCommerce Plus is an extension that you install in addition to the free version to provides a lot more options and features.
After purchasing and downloading the Plus file (RFQTK.zip) to your computer , you can install by:
1: Navigate to the plugins page in your admin area.
2: Click add new on the top of page.
3: Click on upload plugin
4: Click on choose file
5: Browse to where you stored rfqtk.zip and select the rfqtk.zip. click open.
6. Click install now and then activate.
7: after activating the plugin you will see a notification
Click on the “Click Here” and the license key and the email you used to purchase.
// Add recipients to new quotes sent to admin by adding the following to functions.php
add_filter( ‘woocommerce_email_recipient_new_rfq’, ‘new_rfq_conditional_email_recipient’, 10, 2 );
function new_rfq_conditional_email_recipient( $recipient, $order ) {
$order_id=$order->get_id() ;
$some_field_name = get_post_meta( $order_id, “some_field_name”, true );
//add recipient based on order metadata
if ($some_field_name == “abc”) {
$recipient .= “, receipt_abc@somemail.com”;
}
elseif ($some_field_name == “xyz”){
$recipient .= “, receipt_xyz@somemail . com”;
}
//add recipient based on products in the order
$order = wc_get_order( $order_id );
$items = $order->get_items();
foreach ( $items as $item_id => $item ) {
$product_id = $item->get_variation_id() ? $item->get_variation_id() : $item->get_product_id();
if ( $product_id === 1 ) {
$recipient .= “, receiptprod1@somemail.com”;
}
if ( $product_id === 2 ) {
$recipient .= “, receiptprod2@somemail.com”;
}
}
return $recipient;
}
//You can repeat the same pattern for the following emails:
//email sent to customer
add_filter( ‘woocommerce_email_recipient_customer_rfq’, ‘customer_rfq_conditional_email_recipient’, 10, 2 );
function customer_rfq_conditional_email_recipient( $recipient, $order ) {
//follow the same pattern as above
}
//proposal email sent to customer
add_filter( ‘woocommerce_email_recipient_customer_rfq_sent’, ‘customer_rfq_sent_conditional_email_recipient’, 10, 2 );
function customer_rfq_sent_conditional_email_recipient( $recipient, $order ) {
//follow the same pattern as above
}
//email sent to admin for notes
add_filter( ‘woocommerce_email_recipient_admin_note’, ‘admin_note_conditional_email_recipient’, 10, 2 );
function admin_note_conditional_email_recipient( $recipient, $order ) {
//follow the same pattern as above
}
The following setup enables you to enable quote request checkout only to selected roles and allow others to buy and checkout normally.
If you need help setting it up, we can help.
Set the default setting to RFQ.
In the roles, leave 4a blank and in 4b add the role(s) that can only request a quote. You have to create the role first.
At the very bottom of the page, enter a label for people who can purchase(everybody else). This
Is the label for the cart button .
In the labels section use “Add to Quote”
And finally add this to the bottom of your functions.php
if(function_exists('gpls_woo_rfq_purchase_only')) { add_action('init', 'gpls_woo_rfq_check_role', 1); function gpls_woo_rfq_check_role() { $in_role = false; if (is_user_logged_in()) { $user = wp_get_current_user(); $user_roles = $user->roles; $eligible_roles = get_option('settings_gpls_woo_rfq_plus_visible_price_roles', 'no'); $option_value_list = explode(',', $eligible_roles); foreach ($user_roles as $cat_id) { if (in_array(trim($cat_id), $option_value_list)) { $in_role = true; } } } if($in_role == false){ gpls_woo_rfq_purchase_only(); // user can see prices and purchase normally } } }
If there a few item in each category here and there that you don’t want to be “Quote Items”, then you can handle that in the individual product setup. After you have applied it by category, then navigate to the product->advanced setup and uncheck “Enable RfQ”.
Handle the labels for Purchase vs Quote in labels. Make the first 4 the way it is. Read and adjust the remaining labels too.
Navigate to Quote Request Page tab and make sure there is a url there for Request for Quote Page URL. Last, create a menu item for quote request page so people can see their quote request page.
In the free version, you can mark an individual item as a quote item in the product advanced setup.
In the Plus version you can assign the quote status to one or more product categories in the premium version. You would create the categories in WooCommerce. Assign the products to those categories as you would normally in WooCommerce. Then you mark those categories as quote items. You can still remove an individual product from the category by going to the advanced setup of that product.
Please note: to check the check this to apply the categories before saving every time you want to apply this setting. If you want to remove all categories, then delete all the categories from the select box, check the “apply the categories before saving” checkbox and save setting.
In order to customize the labels for the “quote request” payment method navigate to WooCommerce->settings->payment and click on quote request manage. Fillout the Title , Description and introduction. Save changes.
In order to customize your emails you can navigate to WooCommerce->settings->emails and click on manage and copy it to your theme folder. You can customize the email from there.
Free version emails:
Click on manage.
At the bottom of the screen, click on copy template. The templates will get copied to your WooCommerce directory under your theme/child theme. You can edit the html and wordings in the template.