Advanced Scripting Examples for Woocommerce
If you wish to apply limitations to the woocommerce plugin, you will need to sign up for our Advanced Scripting subscription. It is free for the first 30 days and then $10 a month. You can read more about this here: https://support.partial.ly/advanced-scripting/
You can activate Advanced Scripting within your Partial.ly account under Settings > Advanced Scripting. Here is a direct link: https://partial.ly/merchant/merchant_script
Once activated, you will see a box to place the code needed for your limitations:
Below are examples of various scripts:
#1. Minimum Order Requirement:
total = context["total"]
if total < 300 then
return {error="Partial.ly is not available for orders under $300"}
else
return true
end
Replace the amount with your preference.
#2. Different Offers for Different Products
-- allowed product ids, anything else won't be allowed
allowed_products = {PRODUCT-ID-#1,PRODUCT-ID-#2}
-- check for any disallowed products
for _, line in ipairs(context.line_items) do
local allowed = false
for _, value in ipairs(allowed_products) do
if value == line.product_id then
allowed = true
end
end
if allowed == false then
return {error="Can not use Partially with "..line.name.." in cart"}
end
end
-- map of product ids to offer ids, these are product ids with custom/non-default offers
custom_offers = {}
custom_offers[PRODUCT-ID-#1] = "OFFER-ID-#1"
custom_offers[PRODUCT-ID-#2] = "OFFER-ID-#2"
-- iterate over cart line items
for _, line in ipairs(context.line_items) do
-- test if there's a custom offer for this line item
if custom_offers[line.product_id] ~= nil then
return {offer_id=custom_offers[line.product_id]}
end
end
return true
Replace PRODUCT-ID-# and OFFER-ID-# with the required info.
The product ID can be found within your woocommerce admin.
The offer ID can be found in your Partial.ly account within the integration tool of your offer.
#3: Limit a specific product to a specific offer while having all other products default to the offer set within your Woo plugin
-- iterate over cart line items
for _, line in ipairs(context.line_items) do
-- test if product is in cart
if line.product_id == PRODUCT-ID-# then
return {offer_id="OFFER-ID-#"}
else
return true
end
end
Replace PRODUCT-ID-# and OFFER-ID-# with the required info.
The product ID can be found within your woocommerce admin.
The offer ID can be found in your Partial.ly account within the integration tool of your offer.
#4: Multiple Offers Limited by Price Range:
total = context["total"]
if total < 300 then
return {error = "Partial.ly is not available for orders under $300"}
end
if total > 300 and total < 1000 then
return {offer_id="OFFER-ID-#1"}
end
if total > 1001 and total < 3000 then
return {offer_id="OFFER-ID-#2"}
end
if total > 3001 then
return {offer_id="OFFER-ID-#3"}
end
Replace the amounts with your preference and the OFFER-ID-# with the required info.
The offer ID can be found in your Partial.ly account within the integration tool of your offer.
#5: Combination: Limit a specific product to a specific offer while having all other products default to the offer set within your Woo plugin, plus a required price minimum.
total = context["total"]
if total < 300 then
return {error = "Partial.ly is not available for orders under $300"}
end
-- iterate over cart line items
for _, line in ipairs(context.line_items) do
-- test if product is in cart
if line.product_id == PRODUCT-ID-# then
return {offer_id="OFFER-ID-#"}
else
return true
end
end
#6. Only have certain products available for offer set in plugin.
-- allowed product ids, anything else won't be allowed
allowed_products = {PRODUCT-ID-#1,PRODUCT-ID-#2}
-- check for any disallowed products
for _, line in ipairs(context.line_items) do
local allowed = false
for _, value in ipairs(allowed_products) do
if value == line.product_id then
allowed = true
end
end
if allowed == false then
return {error="Can not use Partially with "..line.name.." in cart"}
end
end
Don't see what you need?
Please reach out to our support team at support@partial.ly.