Version Description
- FIX: limit_usage_to_x_items: Removed call to get_discount_amount from coupon_has_a_value; it is redundant and caused limit_usage_to_x_items to change
- (PRO) FEATURE: Filters wjecf_free_product_amount_for_coupon, wjecf_bogo_product_amount_for_coupon and wjecf_set_free_product_amount_in_cart
- (PRO) FEATURE: Keep track of by-url-coupons (?apply_coupon=) and apply when they validate
- (PRO) FIX: Experimental feature 'Allow discount on cart with excluded items' didn't work since 2.2.3
- (PRO) FIX: Invalid free product quantity applied when using both BOGO and FREE products in a single coupon.
- (PRO) FIX: limit_usage_to_x_items: Possible wrong discount on combination of limit_usage_to_x_items and wjecf_apply_discountto
Download this release
Release Info
Developer | josk79 |
Plugin | WooCommerce Extended Coupon Features |
Version | 2.3.3 |
Comparing to | |
See all releases |
Code changes from version 2.3.2 to 2.3.3
- docs/assets/images/image_2.png +0 -0
- docs/assets/images/image_3.png +0 -0
- docs/assets/images/image_4.png +0 -0
- docs/assets/images/image_5.png +0 -0
- docs/assets/images/image_6.png +0 -0
- docs/assets/images/image_7.png +0 -0
- docs/index.html +79 -48
- includes/admin/wjecf-admin-auto-upgrade.php +66 -0
- includes/admin/wjecf-admin.php +121 -58
- includes/wjecf-autocoupon.php +148 -51
- includes/wjecf-controller.php +116 -11
- languages/woocommerce-jos-autocoupon-es_ES.mo +0 -0
- languages/woocommerce-jos-autocoupon-es_ES.po +220 -97
- languages/woocommerce-jos-autocoupon-nl_NL.mo +0 -0
- languages/woocommerce-jos-autocoupon-nl_NL.po +229 -101
- languages/woocommerce-jos-autocoupon.pot +210 -93
- readme.txt +13 -12
- woocommerce-jos-autocoupon.php +9 -1
docs/assets/images/image_2.png
CHANGED
Binary file
|
docs/assets/images/image_3.png
CHANGED
Binary file
|
docs/assets/images/image_4.png
CHANGED
Binary file
|
docs/assets/images/image_5.png
CHANGED
Binary file
|
docs/assets/images/image_6.png
CHANGED
Binary file
|
docs/assets/images/image_7.png
ADDED
Binary file
|
docs/index.html
CHANGED
@@ -13,10 +13,12 @@
|
|
13 |
<meta name="author" content="Soft79">
|
14 |
<meta name="copyright" content="Soft79">
|
15 |
<meta name="generator" content="Documenter v2.0 http://rxa.li/documenter">
|
16 |
-
<meta name="date" content="
|
17 |
|
18 |
<link rel="stylesheet" href="assets/css/documenter_style.css" media="all">
|
19 |
-
|
|
|
|
|
20 |
|
21 |
|
22 |
<script src="assets/js/jquery.js"></script>
|
@@ -77,9 +79,11 @@
|
|
77 |
<li><a href="#free_products" title="Free products">Free products</a></li>
|
78 |
<li><a href="#checkout" title="Checkout">Checkout</a></li>
|
79 |
<li><a href="#auto_coupon" title="Auto coupon">Auto coupon</a></li>
|
|
|
|
|
80 |
|
81 |
</ul>
|
82 |
-
<div id="documenter_copyright">Copyright Soft79
|
83 |
made with the <a href="http://rxa.li/documenter">Documenter v2.0</a>
|
84 |
</div>
|
85 |
</div>
|
@@ -93,7 +97,7 @@
|
|
93 |
<hr>
|
94 |
<ul>
|
95 |
<li>created: 07/05/2014</li>
|
96 |
-
<li>latest update:
|
97 |
<li>by: Soft79</li>
|
98 |
<li><a href=""></a></li>
|
99 |
|
@@ -110,6 +114,8 @@
|
|
110 |
<p>
|
111 |
What can be achieved with this plugin?</p>
|
112 |
<ul>
|
|
|
|
|
113 |
<li>
|
114 |
Extended coupon restrictions
|
115 |
<ul>
|
@@ -126,18 +132,20 @@
|
|
126 |
</ul>
|
127 |
</li>
|
128 |
<li>
|
129 |
-
|
|
|
|
|
130 |
<li>
|
131 |
-
|
132 |
<li>
|
133 |
-
|
134 |
</ul>
|
135 |
<p>
|
136 |
</p>
|
137 |
<p>
|
138 |
The extended features can be found in the WooCommerce Coupons Admin page.</p>
|
139 |
<p>
|
140 |
-
<img alt="Screenshot: Extended features tabs" src="assets/images/
|
141 |
<p>
|
142 |
</p>
|
143 |
</section>
|
@@ -146,7 +154,7 @@
|
|
146 |
<p>
|
147 |
<strong>WooCommerce Extended Coupon Features</strong> adds a '<em>Products</em>'-tab to the coupon edit page. On this tab extra rules can be configured that work in combination with the <em>Products</em>, <em>Exclude products</em>, <em>Product categories</em> and <em>Exclude categories</em> rules that are on the '<em>Usage Restriction</em>'-tab. </p>
|
148 |
<p>
|
149 |
-
<img alt="Screenshot: Products tab" src="assets/images/
|
150 |
<p>
|
151 |
</p>
|
152 |
<h4 id="product_restrictions_and_products_not_or_">AND Products (not OR)</h4>
|
@@ -163,77 +171,100 @@
|
|
163 |
The coupon will only validate if the total value of the products matching the product or category restrictions (on the '<em>Usage Restriction</em>'-tab in the cart is within this range. If no product or category restriction is entered, the total value of all of the products in the cart will be used.</p>
|
164 |
<p>
|
165 |
<strong>Please note</strong>: The difference between this option and the 'minimum/maximum spend' on the 'General'-tab is that on the general tab the subtotal of <em>all</em> of the items in the cart is compared.</p>
|
166 |
-
<
|
167 |
-
|
|
|
168 |
<p>
|
169 |
By default, When the coupon is setup as a 'Cart Discount' it will never validate a coupon when an excluded product is in the cart (this is how WooCommerce Coupons work). By checking this box the coupon will still validate when an excluded product is in the cart. Useful for cart discounts based on a subtotal of matching products, but having some products or categories excluded.</p>
|
170 |
<p>
|
171 |
-
<img alt="Screenshot: Excluded products" src="assets/images/
|
172 |
</section>
|
173 |
<section id="free_products">
|
174 |
<div class="page-header"><h3>Free products</h3><hr class="notop"></div>
|
|
|
|
|
175 |
<p>
|
176 |
In the '<em>Free products</em>'-field on the '<em>Products</em>'-tab you can enter one or more products that will automatically be added to the cart when the coupon is applied. The product will automatically be removed when the coupon is no longer valid.</p>
|
177 |
<p>
|
178 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
179 |
<h4 id="free_products_multiplication_of_free_products">Multiplication of free products</h4>
|
180 |
<p>
|
181 |
When the box 'Allow multiplication of the free products' is checked the amount of free products will be multiplied every time the minimum spend, subtotal or quantity is reached. For example if the minimum spend is $ 50 and the user has $ 160 worth of products in the cart, the free products will be added 3 times to the cart.</p>
|
182 |
<p>
|
183 |
</p>
|
184 |
<p>
|
185 |
-
<img alt="Screenshot: Free product in cart" src="assets/images/
|
186 |
</section>
|
187 |
<section id="checkout">
|
188 |
<div class="page-header"><h3>Checkout</h3><hr class="notop"></div>
|
189 |
-
<p>
|
190 |
-
|
191 |
-
<p>
|
192 |
-
<img alt="Screenshot: Checkout tab" src="assets/images/image_1.png" style="width: 761px; height: 410px;"></p>
|
193 |
<h4 id="checkout_shipping_methods">Shipping methods</h4>
|
194 |
-
<p>
|
195 |
-
The coupon will only validate if the customer selects one of these shipping methods.</p>
|
196 |
<h4 id="checkout_payment_methods">Payment methods</h4>
|
197 |
-
<p>
|
198 |
-
The coupon will only validate if the customer selects one of these payment methods.</p>
|
199 |
<h3>
|
200 |
Customer restrictions</h3>
|
201 |
<h4 id="checkout_allowed_customer">Allowed customer</h4>
|
202 |
-
<p>
|
203 |
-
When you enter one or more customers here, the coupon will only validate if the customer is logged in and is in this list.</p>
|
204 |
<h4 id="checkout_allowed_user_roles">Allowed user roles</h4>
|
205 |
-
<p>
|
206 |
-
When you enter one or more user roles here, the coupon will only validate if the customer has one of these user roles (e.g. Wholesale buyer or Guest).</p>
|
207 |
<h4 id="checkout_disallowed_user_roles">Disallowed user roles</h4>
|
208 |
-
<p>
|
209 |
-
|
210 |
-
<p>
|
211 |
-
</p>
|
212 |
<div>
|
213 |
</div>
|
214 |
-
<p>
|
215 |
-
</p>
|
216 |
</section>
|
217 |
<section id="auto_coupon">
|
218 |
<div class="page-header"><h3>Auto coupon</h3><hr class="notop"></div>
|
219 |
-
<p>
|
220 |
-
|
221 |
-
<p>
|
222 |
-
When this option is activated, the discount will automatically be applied to the cart when it's conditions are met and the description will be presented to the customer and on the cart page. Once the conditions are no longer met, for example when the customer removes an item from the cart, the discount will be removed from the cart.</p>
|
223 |
<h4 id="auto_coupon_apply_silently">Apply silently</h4>
|
224 |
-
<p>
|
225 |
-
|
226 |
-
<p>
|
227 |
-
</p>
|
228 |
-
<p>
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
<
|
233 |
-
|
234 |
-
<p>
|
235 |
-
|
|
|
|
|
|
|
|
|
236 |
</section>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
237 |
|
238 |
</div>
|
239 |
</body>
|
13 |
<meta name="author" content="Soft79">
|
14 |
<meta name="copyright" content="Soft79">
|
15 |
<meta name="generator" content="Documenter v2.0 http://rxa.li/documenter">
|
16 |
+
<meta name="date" content="2016-05-14T00:00:00+02:00">
|
17 |
|
18 |
<link rel="stylesheet" href="assets/css/documenter_style.css" media="all">
|
19 |
+
<link rel="stylesheet" href="assets/js/google-code-prettify/prettify.css" media="screen">
|
20 |
+
<script src="assets/js/google-code-prettify/prettify.js"></script>
|
21 |
+
|
22 |
|
23 |
|
24 |
<script src="assets/js/jquery.js"></script>
|
79 |
<li><a href="#free_products" title="Free products">Free products</a></li>
|
80 |
<li><a href="#checkout" title="Checkout">Checkout</a></li>
|
81 |
<li><a href="#auto_coupon" title="Auto coupon">Auto coupon</a></li>
|
82 |
+
<li><a href="#coupon_by_url" title="Coupon by URL">Coupon by URL</a></li>
|
83 |
+
<li><a href="#where_to_buy" title="Where to buy">Where to buy</a></li>
|
84 |
|
85 |
</ul>
|
86 |
+
<div id="documenter_copyright">Copyright Soft79 2016<br>
|
87 |
made with the <a href="http://rxa.li/documenter">Documenter v2.0</a>
|
88 |
</div>
|
89 |
</div>
|
97 |
<hr>
|
98 |
<ul>
|
99 |
<li>created: 07/05/2014</li>
|
100 |
+
<li>latest update: 05/14/2016</li>
|
101 |
<li>by: Soft79</li>
|
102 |
<li><a href=""></a></li>
|
103 |
|
114 |
<p>
|
115 |
What can be achieved with this plugin?</p>
|
116 |
<ul>
|
117 |
+
<li>
|
118 |
+
Create discounts that will automatically be applied to the customer’s cart when certain conditions are met.</li>
|
119 |
<li>
|
120 |
Extended coupon restrictions
|
121 |
<ul>
|
132 |
</ul>
|
133 |
</li>
|
134 |
<li>
|
135 |
+
Apply coupon using an url</li>
|
136 |
+
<li>
|
137 |
+
(PRO) Give away free products</li>
|
138 |
<li>
|
139 |
+
(PRO) BOGO (Buy One Get One)</li>
|
140 |
<li>
|
141 |
+
(PRO) Limit product discount to: One per order line, cheapest product or cheapest order line</li>
|
142 |
</ul>
|
143 |
<p>
|
144 |
</p>
|
145 |
<p>
|
146 |
The extended features can be found in the WooCommerce Coupons Admin page.</p>
|
147 |
<p>
|
148 |
+
<img alt="Screenshot: Extended features tabs" src="assets/images/image_4.png" style="width: 959px; height: 522px;"></p>
|
149 |
<p>
|
150 |
</p>
|
151 |
</section>
|
154 |
<p>
|
155 |
<strong>WooCommerce Extended Coupon Features</strong> adds a '<em>Products</em>'-tab to the coupon edit page. On this tab extra rules can be configured that work in combination with the <em>Products</em>, <em>Exclude products</em>, <em>Product categories</em> and <em>Exclude categories</em> rules that are on the '<em>Usage Restriction</em>'-tab. </p>
|
156 |
<p>
|
157 |
+
<img alt="Screenshot: Products tab" src="assets/images/image_5.png" style="width: 761px; height: 704px;"></p>
|
158 |
<p>
|
159 |
</p>
|
160 |
<h4 id="product_restrictions_and_products_not_or_">AND Products (not OR)</h4>
|
171 |
The coupon will only validate if the total value of the products matching the product or category restrictions (on the '<em>Usage Restriction</em>'-tab in the cart is within this range. If no product or category restriction is entered, the total value of all of the products in the cart will be used.</p>
|
172 |
<p>
|
173 |
<strong>Please note</strong>: The difference between this option and the 'minimum/maximum spend' on the 'General'-tab is that on the general tab the subtotal of <em>all</em> of the items in the cart is compared.</p>
|
174 |
+
<h4 id="product_restrictions_discount_on_cart_with_excluded_products_pro_version_only_">Discount on cart with excluded products (PRO Version Only)</h4>
|
175 |
+
<p>
|
176 |
+
This option is only visible if the discount type is <em>Cart Discount</em> or <em>Cart % Discount</em>.</p>
|
177 |
<p>
|
178 |
By default, When the coupon is setup as a 'Cart Discount' it will never validate a coupon when an excluded product is in the cart (this is how WooCommerce Coupons work). By checking this box the coupon will still validate when an excluded product is in the cart. Useful for cart discounts based on a subtotal of matching products, but having some products or categories excluded.</p>
|
179 |
<p>
|
180 |
+
<img alt="Screenshot: Excluded products" src="assets/images/image_3.png" style="width: 761px; height: 181px;"></p>
|
181 |
</section>
|
182 |
<section id="free_products">
|
183 |
<div class="page-header"><h3>Free products</h3><hr class="notop"></div>
|
184 |
+
<p>
|
185 |
+
<strong>(PRO Version Only)</strong></p>
|
186 |
<p>
|
187 |
In the '<em>Free products</em>'-field on the '<em>Products</em>'-tab you can enter one or more products that will automatically be added to the cart when the coupon is applied. The product will automatically be removed when the coupon is no longer valid.</p>
|
188 |
<p>
|
189 |
+
If more than one free product is entered, you can tick the 'select one'-checkbox, making the customer choose one of the selected products on the cart or checkout page. You can also edit the message that is displayed.</p>
|
190 |
+
<p>
|
191 |
+
<img alt="Choose a free gift" src="assets/images/image_2.png" style="width: 765px; height: 572px;"></p>
|
192 |
+
<p>
|
193 |
+
If you wish to change the look-and-feel of the product selection you must create a subdirectory <strong>woocommerce-auto-added-coupons-pro</strong> in your themes directory and copy and edit the files <strong>templates/cart/select-free-product.php</strong> and <strong>templates/checkout/select-free-product.php</strong> in here.</p>
|
194 |
+
<p>
|
195 |
+
<iframe allowfullscreen="" frameborder="0" height="480" src="https://www.youtube.com/embed/Sas8-sObea4?rel=0" width="640"></iframe></p>
|
196 |
+
<p>
|
197 |
+
</p>
|
198 |
<h4 id="free_products_multiplication_of_free_products">Multiplication of free products</h4>
|
199 |
<p>
|
200 |
When the box 'Allow multiplication of the free products' is checked the amount of free products will be multiplied every time the minimum spend, subtotal or quantity is reached. For example if the minimum spend is $ 50 and the user has $ 160 worth of products in the cart, the free products will be added 3 times to the cart.</p>
|
201 |
<p>
|
202 |
</p>
|
203 |
<p>
|
204 |
+
<img alt="Screenshot: Free product in cart" src="assets/images/image_7.png" style="width: 738px; height: 632px;"></p>
|
205 |
</section>
|
206 |
<section id="checkout">
|
207 |
<div class="page-header"><h3>Checkout</h3><hr class="notop"></div>
|
208 |
+
<p> On the checkout-tab restrictions can be entered that will normally only be active when the customer initiates checkout.</p>
|
209 |
+
<p> <img alt="Screenshot: Checkout tab" src="assets/images/image_1.png" style="width: 761px; height: 410px;"></p>
|
|
|
|
|
210 |
<h4 id="checkout_shipping_methods">Shipping methods</h4>
|
211 |
+
<p> The coupon will only validate if the customer selects one of these shipping methods.</p>
|
|
|
212 |
<h4 id="checkout_payment_methods">Payment methods</h4>
|
213 |
+
<p> The coupon will only validate if the customer selects one of these payment methods.</p>
|
|
|
214 |
<h3>
|
215 |
Customer restrictions</h3>
|
216 |
<h4 id="checkout_allowed_customer">Allowed customer</h4>
|
217 |
+
<p> When you enter one or more customers here, the coupon will only validate if the customer is logged in and is in this list.</p>
|
|
|
218 |
<h4 id="checkout_allowed_user_roles">Allowed user roles</h4>
|
219 |
+
<p> When you enter one or more user roles here, the coupon will only validate if the customer has one of these user roles (e.g. Wholesale buyer or Guest).</p>
|
|
|
220 |
<h4 id="checkout_disallowed_user_roles">Disallowed user roles</h4>
|
221 |
+
<p> The coupon will only validate if the customer does not have any of these user roles (e.g. Wholesale buyer or Guest).</p>
|
222 |
+
<p> </p>
|
|
|
|
|
223 |
<div>
|
224 |
</div>
|
225 |
+
<p> </p>
|
|
|
226 |
</section>
|
227 |
<section id="auto_coupon">
|
228 |
<div class="page-header"><h3>Auto coupon</h3><hr class="notop"></div>
|
229 |
+
<p> You can convert a coupon into a discount rule simply by ticking the "Auto coupon" checkbox on the '<em>miscellaneous</em>'-tab. When using this option it is <u>important to enter a description for the coupon</u>, as this will be presented to the customer.</p>
|
230 |
+
<p> When this option is activated, the discount will automatically be applied to the cart when it's conditions are met and the description will be presented to the customer and on the cart page. Once the conditions are no longer met, for example when the customer removes an item from the cart, the discount will be removed from the cart.</p>
|
|
|
|
|
231 |
<h4 id="auto_coupon_apply_silently">Apply silently</h4>
|
232 |
+
<p> When this box is checked, no 'Discount applied' notice will be presented when the coupon is applied.</p>
|
233 |
+
<p> </p>
|
234 |
+
<p> <img alt="Screenshot - Configuring an 'auto coupon'" src="assets/images/image_6.png" style="width: 778px; height: 641px;"></p>
|
235 |
+
<p> </p>
|
236 |
+
<p> </p>
|
237 |
+
<p> </p>
|
238 |
+
</section>
|
239 |
+
<section id="coupon_by_url">
|
240 |
+
<div class="page-header"><h3>Coupon by URL</h3><hr class="notop"></div>
|
241 |
+
<p> Now you can easily create a link that will automatically apply a coupon to the user's cart, optionally in combination with a product.</p>
|
242 |
+
<p> Simply append <em>?apply_coupon=coupon_code</em> to the url. If you also want to add products to the cart with the same url, you can use <em>add-to-cart=product_id</em> and optionally a quantity. You can find the id of a product on the WooCommerce Edit-page of the product.</p>
|
243 |
+
<p> Example:</p>
|
244 |
+
<pre class="prettyprint lang-plain linenums">
|
245 |
+
http://www.your-store.nl/cart/?add-to-cart=4321&quantity=3&apply_coupon=my_coupon</pre>
|
246 |
+
<p> </p>
|
247 |
+
<p> If the customer opens the url when the conditions of the coupon are not yet met or the cart is empty the coupon won't be applied yet, instead the following message will be displayed: <em>Coupon will be applied once it's conditions are met</em>. Once the conditions of the coupon are met it will be applied automatically.</p>
|
248 |
</section>
|
249 |
+
<section id="where_to_buy">
|
250 |
+
<div class="page-header"><h3>Where to buy</h3><hr class="notop"></div>
|
251 |
+
<p> Want to increase your conversion? Then purchase this plugin and start offering special deals to your customers right away!</p>
|
252 |
+
<p> </p>
|
253 |
+
<p> <a class="btn btn-primary btn-large" href="http://www.soft79.nl/cart/?fill_cart=12" target="_blank">Purchase WooCommerce Extended Coupon Features</a></p>
|
254 |
+
<p> </p>
|
255 |
+
<p> <a href="http://www.soft79.nl/cart/?fill_cart=12" target="_blank"><img alt="Raising conversion" src="http://www.soft79.nl/temp123/raising.svg" ></a></p>
|
256 |
+
<!-- Piwik --><script type="text/javascript">
|
257 |
+
var _paq = _paq || [];
|
258 |
+
_paq.push(['trackPageView']);
|
259 |
+
_paq.push(['enableLinkTracking']);
|
260 |
+
(function() {
|
261 |
+
var u="//stats.que-rico.nl/";
|
262 |
+
_paq.push(['setTrackerUrl', u+'piwik.php']);
|
263 |
+
_paq.push(['setSiteId', 3]);
|
264 |
+
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
|
265 |
+
g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
|
266 |
+
})();
|
267 |
+
</script><noscript><p><img src="//stats.que-rico.nl/piwik.php?idsite=3" style="border:0;" alt="" /></p></noscript><!-- End Piwik Code --></section>
|
268 |
|
269 |
</div>
|
270 |
</body>
|
includes/admin/wjecf-admin-auto-upgrade.php
ADDED
@@ -0,0 +1,66 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class WJECF_Admin_Auto_Upgrade extends Abstract_WJECF_Plugin {
|
4 |
+
|
5 |
+
public function __construct() {
|
6 |
+
add_action( 'admin_init', array( $this, 'auto_upgrade' ) );
|
7 |
+
}
|
8 |
+
|
9 |
+
//Upgrade options on version change
|
10 |
+
public function auto_upgrade() {
|
11 |
+
//WJECF()->options['db_version'] = 1;update_option( 'wjecf_options' , WJECF()->options, false ); // Will force all upgrades
|
12 |
+
global $wpdb;
|
13 |
+
$prev_version = WJECF()->options['db_version'];
|
14 |
+
|
15 |
+
//DB_VERSION 1: Since 2.1.0-b5
|
16 |
+
if ( WJECF()->options['db_version'] < 1 ) {
|
17 |
+
//RENAME meta_key _wjecf_matching_product_qty TO _wjecf_min_matching_product_qty
|
18 |
+
$where = array("meta_key" => "_wjecf_matching_product_qty");
|
19 |
+
$set = array('meta_key' => "_wjecf_min_matching_product_qty");
|
20 |
+
$wpdb->update( _get_meta_table('post'), $set, $where );
|
21 |
+
|
22 |
+
//RENAME meta_key woocommerce-jos-autocoupon TO _wjecf_is_auto_coupon
|
23 |
+
$where = array("meta_key" => "woocommerce-jos-autocoupon");
|
24 |
+
$set = array('meta_key' => "_wjecf_is_auto_coupon");
|
25 |
+
$wpdb->update( _get_meta_table('post'), $set, $where );
|
26 |
+
//Now we're version 1
|
27 |
+
WJECF()->options['db_version'] = 1;
|
28 |
+
} //DB VERSION 1
|
29 |
+
|
30 |
+
//DB_VERSION 2: Since 2.3.3-b3 No changes; but used to omit message if 2.3.3-b3 has been installed before
|
31 |
+
if ( WJECF()->options['db_version'] < 2 ) {
|
32 |
+
WJECF()->options['db_version'] = 2;
|
33 |
+
}
|
34 |
+
|
35 |
+
if ( WJECF()->options['db_version'] > 2 ) {
|
36 |
+
WJECF_ADMIN()->enqueue_notice( '<p>' . __( '<strong>WooCommerce Extended Coupon Features:</strong> Please note, you\'re using an older version of this plugin, while the data was upgraded to a newer version.' , 'woocommerce-jos-autocoupon' ) . '</p>', 'notice-warning');
|
37 |
+
}
|
38 |
+
|
39 |
+
//An upgrade took place?
|
40 |
+
if ( WJECF()->options['db_version'] != $prev_version ) {
|
41 |
+
// Set version and write options to database
|
42 |
+
update_option( 'wjecf_options' , WJECF()->options, false );
|
43 |
+
|
44 |
+
WJECF_ADMIN()->enqueue_notice( '<p>' . __( '<strong>WooCommerce Extended Coupon Features:</strong> Data succesfully upgraded to the newest version.', 'woocommerce-jos-autocoupon' ) . '</p>', 'notice-success');
|
45 |
+
}
|
46 |
+
}
|
47 |
+
|
48 |
+
// function admin_notice_allow_cart_excluded() {
|
49 |
+
|
50 |
+
// if( ! empty( $this->admin_notice_allow_cart_excluded_couponcodes ) )
|
51 |
+
// {
|
52 |
+
// $html = '<div class="notice notice-warning">';
|
53 |
+
// $html .= '<p>';
|
54 |
+
// $html .= __( '<strong>WooCommerce Extended Coupon Features:</strong> The following coupons use the deprecated option \'Allow discount on cart with excluded items\'. Please review and save them.', 'woocommerce-jos-autocoupon' );
|
55 |
+
// $html .= '<ul>';
|
56 |
+
// foreach( $this->admin_notice_allow_cart_excluded_couponcodes as $post_id => $coupon_code ) {
|
57 |
+
// $html .= '<li><a class="post-edit-link" href="' . esc_url( get_edit_post_link( $post_id ) ) . '">' . $coupon_code . '</a></li>';
|
58 |
+
// }
|
59 |
+
// $html .= '</ul>';
|
60 |
+
// $html .= '</p>';
|
61 |
+
// $html .= '</div>';
|
62 |
+
// echo $html;
|
63 |
+
// }
|
64 |
+
// }
|
65 |
+
}
|
66 |
+
?>
|
includes/admin/wjecf-admin.php
CHANGED
@@ -12,41 +12,16 @@ class WJECF_Admin extends Abstract_WJECF_Plugin {
|
|
12 |
add_action( 'admin_init', array( $this, 'admin_init' ) );
|
13 |
}
|
14 |
|
15 |
-
//Upgrade options on version change
|
16 |
-
public function auto_upgrade_options() {
|
17 |
-
$current_db_version = 1;
|
18 |
-
//Check version
|
19 |
-
if ( WJECF()->options['db_version'] < $current_db_version ) {
|
20 |
-
global $wpdb;
|
21 |
-
|
22 |
-
//DB_VERSION 1: Since 2.1.0-b5
|
23 |
-
if (WJECF()->options['db_version'] < 1) {
|
24 |
-
//RENAME meta_key _wjecf_matching_product_qty TO _wjecf_min_matching_product_qty
|
25 |
-
$where = array("meta_key" => "_wjecf_matching_product_qty");
|
26 |
-
$set = array('meta_key' => "_wjecf_min_matching_product_qty");
|
27 |
-
$wpdb->update( _get_meta_table('post'), $set, $where );
|
28 |
-
|
29 |
-
//RENAME meta_key woocommerce-jos-autocoupon TO _wjecf_is_auto_coupon
|
30 |
-
$where = array("meta_key" => "woocommerce-jos-autocoupon");
|
31 |
-
$set = array('meta_key' => "_wjecf_is_auto_coupon");
|
32 |
-
$wpdb->update( _get_meta_table('post'), $set, $where );
|
33 |
-
//Now we're version 1
|
34 |
-
WJECF()->options['db_version'] = 1;
|
35 |
-
}
|
36 |
-
|
37 |
-
// Write options to database
|
38 |
-
update_option( 'wjecf_options' , WJECF()->options, false );
|
39 |
-
}
|
40 |
-
}
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
/* ADMIN HOOKS */
|
45 |
public function admin_init() {
|
46 |
-
|
47 |
-
|
48 |
-
|
|
|
|
|
49 |
//Admin hooks
|
|
|
|
|
50 |
add_filter( 'woocommerce_coupon_data_tabs', array( $this, 'admin_coupon_options_tabs' ), 10, 1);
|
51 |
add_action( 'woocommerce_coupon_data_panels', array( $this, 'admin_coupon_options_panels' ), 10, 0 );
|
52 |
add_action( 'woocommerce_process_shop_coupon_meta', array( $this, 'process_shop_coupon_meta' ), 10, 2 );
|
@@ -57,6 +32,59 @@ class WJECF_Admin extends Abstract_WJECF_Plugin {
|
|
57 |
add_action( 'wjecf_coupon_metabox_misc', array( $this, 'admin_coupon_metabox_misc' ), 10, 2 );
|
58 |
}
|
59 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
60 |
//Add panels to the coupon option page
|
61 |
public function admin_coupon_options_panels() {
|
62 |
global $thepostid, $post;
|
@@ -86,7 +114,8 @@ class WJECF_Admin extends Abstract_WJECF_Plugin {
|
|
86 |
</div>
|
87 |
<?php
|
88 |
}
|
89 |
-
|
|
|
90 |
$documentation_url = plugins_url( 'docs/index.html', dirname( __FILE__ ) );
|
91 |
if ( ! WJECF()->is_pro() ) {
|
92 |
$documentation_url = 'http://www.soft79.nl/documentation/wjecf';
|
@@ -109,30 +138,6 @@ class WJECF_Admin extends Abstract_WJECF_Plugin {
|
|
109 |
__( 'WooCommerce Extended Coupon Features Documentation', 'woocommerce-jos-autocoupon' ) . '</a></p>';
|
110 |
|
111 |
}
|
112 |
-
|
113 |
-
//Add tabs to the coupon option page
|
114 |
-
public function admin_coupon_options_tabs( $tabs ) {
|
115 |
-
|
116 |
-
$tabs['extended_features_products'] = array(
|
117 |
-
'label' => __( 'Products', 'woocommerce-jos-autocoupon' ),
|
118 |
-
'target' => 'wjecf_coupondata_products',
|
119 |
-
'class' => 'wjecf_coupondata_products',
|
120 |
-
);
|
121 |
-
|
122 |
-
$tabs['extended_features_checkout'] = array(
|
123 |
-
'label' => __( 'Checkout', 'woocommerce-jos-autocoupon' ),
|
124 |
-
'target' => 'wjecf_coupondata_checkout',
|
125 |
-
'class' => 'wjecf_coupondata_checkout',
|
126 |
-
);
|
127 |
-
|
128 |
-
$tabs['extended_features_misc'] = array(
|
129 |
-
'label' => __( 'Miscellaneous', 'woocommerce-jos-autocoupon' ),
|
130 |
-
'target' => 'wjecf_coupondata_misc',
|
131 |
-
'class' => 'wjecf_coupondata_misc',
|
132 |
-
);
|
133 |
-
|
134 |
-
return $tabs;
|
135 |
-
}
|
136 |
|
137 |
//Tab 'extended features'
|
138 |
public function admin_coupon_metabox_products( $thepostid, $post ) {
|
@@ -389,8 +394,66 @@ class WJECF_Admin extends Abstract_WJECF_Plugin {
|
|
389 |
|
390 |
}
|
391 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
392 |
public static function get_donate_url() {
|
393 |
return "https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=5T9XQBCS2QHRY&lc=NL&item_name=Jos%20Koenis&item_number=wordpress%2dplugin¤cy_code=EUR&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted";
|
394 |
}
|
395 |
-
|
396 |
}
|
12 |
add_action( 'admin_init', array( $this, 'admin_init' ) );
|
13 |
}
|
14 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
/* ADMIN HOOKS */
|
16 |
public function admin_init() {
|
17 |
+
if ( ! WJECF()->check_woocommerce_version('2.3.0') ) {
|
18 |
+
$this->enqueue_notice( '<p>' .
|
19 |
+
__( '<strong>WooCommerce Extended Coupon Features:</strong> You are using a WooCommerce version prior to 2.3.0. Updating of WooCommerce is recommended as using an outdated version might cause unexpected behaviour in combination with modern plugins.' )
|
20 |
+
. '</p>', 'notice-warning' );
|
21 |
+
}
|
22 |
//Admin hooks
|
23 |
+
add_action( 'admin_notices', array( $this, 'admin_notices'));
|
24 |
+
|
25 |
add_filter( 'woocommerce_coupon_data_tabs', array( $this, 'admin_coupon_options_tabs' ), 10, 1);
|
26 |
add_action( 'woocommerce_coupon_data_panels', array( $this, 'admin_coupon_options_panels' ), 10, 0 );
|
27 |
add_action( 'woocommerce_process_shop_coupon_meta', array( $this, 'process_shop_coupon_meta' ), 10, 2 );
|
32 |
add_action( 'wjecf_coupon_metabox_misc', array( $this, 'admin_coupon_metabox_misc' ), 10, 2 );
|
33 |
}
|
34 |
|
35 |
+
// ===========================================================================
|
36 |
+
// START - ADMIN NOTICES
|
37 |
+
// Allows notices to be displayed on the admin pages
|
38 |
+
// ===========================================================================
|
39 |
+
|
40 |
+
private $notices = array();
|
41 |
+
|
42 |
+
/**
|
43 |
+
* Enqueue a notice to display on the admin page
|
44 |
+
* @param stirng $html Please embed in <p> tags
|
45 |
+
* @param string $class
|
46 |
+
*/
|
47 |
+
public function enqueue_notice( $html, $class = 'notice-info' ) {
|
48 |
+
$this->notices[] = array( 'class' => $class, 'html' => $html );
|
49 |
+
}
|
50 |
+
|
51 |
+
public function admin_notices() {
|
52 |
+
foreach( $this->notices as $notice ) {
|
53 |
+
echo '<div class="notice ' . $notice['class'] . '">';
|
54 |
+
echo $notice['html'];
|
55 |
+
echo '</div>';
|
56 |
+
}
|
57 |
+
}
|
58 |
+
|
59 |
+
// ===========================================================================
|
60 |
+
// END - ADMIN NOTICES
|
61 |
+
// ===========================================================================
|
62 |
+
|
63 |
+
|
64 |
+
//Add tabs to the coupon option page
|
65 |
+
public function admin_coupon_options_tabs( $tabs ) {
|
66 |
+
|
67 |
+
$tabs['extended_features_products'] = array(
|
68 |
+
'label' => __( 'Products', 'woocommerce-jos-autocoupon' ),
|
69 |
+
'target' => 'wjecf_coupondata_products',
|
70 |
+
'class' => 'wjecf_coupondata_products',
|
71 |
+
);
|
72 |
+
|
73 |
+
$tabs['extended_features_checkout'] = array(
|
74 |
+
'label' => __( 'Checkout', 'woocommerce-jos-autocoupon' ),
|
75 |
+
'target' => 'wjecf_coupondata_checkout',
|
76 |
+
'class' => 'wjecf_coupondata_checkout',
|
77 |
+
);
|
78 |
+
|
79 |
+
$tabs['extended_features_misc'] = array(
|
80 |
+
'label' => __( 'Miscellaneous', 'woocommerce-jos-autocoupon' ),
|
81 |
+
'target' => 'wjecf_coupondata_misc',
|
82 |
+
'class' => 'wjecf_coupondata_misc',
|
83 |
+
);
|
84 |
+
|
85 |
+
return $tabs;
|
86 |
+
}
|
87 |
+
|
88 |
//Add panels to the coupon option page
|
89 |
public function admin_coupon_options_panels() {
|
90 |
global $thepostid, $post;
|
114 |
</div>
|
115 |
<?php
|
116 |
}
|
117 |
+
|
118 |
+
public function admin_coupon_data_footer() {
|
119 |
$documentation_url = plugins_url( 'docs/index.html', dirname( __FILE__ ) );
|
120 |
if ( ! WJECF()->is_pro() ) {
|
121 |
$documentation_url = 'http://www.soft79.nl/documentation/wjecf';
|
138 |
__( 'WooCommerce Extended Coupon Features Documentation', 'woocommerce-jos-autocoupon' ) . '</a></p>';
|
139 |
|
140 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
141 |
|
142 |
//Tab 'extended features'
|
143 |
public function admin_coupon_metabox_products( $thepostid, $post ) {
|
394 |
|
395 |
}
|
396 |
|
397 |
+
public function render_admin_cat_selector( $dom_id, $field_name, $selected_ids, $placeholder = null ) {
|
398 |
+
if ( $placeholder === null ) $placeholder = __( 'Search for a product…', 'woocommerce' );
|
399 |
+
|
400 |
+
// Categories
|
401 |
+
?>
|
402 |
+
<select id="<?php esc_attr_e( $dom_id ) ?>" name="<?php esc_attr_e( $field_name ) ?>[]" style="width: 50%;" class="wc-enhanced-select" multiple="multiple" data-placeholder="<?php esc_attr_e( $placeholder ); ?>">
|
403 |
+
<?php
|
404 |
+
$categories = get_terms( 'product_cat', 'orderby=name&hide_empty=0' );
|
405 |
+
|
406 |
+
if ( $categories ) foreach ( $categories as $cat ) {
|
407 |
+
echo '<option value="' . esc_attr( $cat->term_id ) . '"' . selected( in_array( $cat->term_id, $selected_ids ), true, false ) . '>' . esc_html( $cat->name ) . '</option>';
|
408 |
+
}
|
409 |
+
?>
|
410 |
+
</select>
|
411 |
+
<?php
|
412 |
+
}
|
413 |
+
|
414 |
+
public function render_admin_product_selector( $dom_id, $field_name, $selected_ids, $placeholder = null ) {
|
415 |
+
$product_key_values = array();
|
416 |
+
foreach ( $selected_ids as $product_id ) {
|
417 |
+
$product = wc_get_product( $product_id );
|
418 |
+
if ( is_object( $product ) ) {
|
419 |
+
$product_key_values[ esc_attr( $product_id ) ] = wp_kses_post( $product->get_formatted_name() );
|
420 |
+
}
|
421 |
+
}
|
422 |
+
|
423 |
+
if ( $placeholder === null ) $placeholder = __( 'Search for a product…', 'woocommerce' );
|
424 |
+
|
425 |
+
//In WooCommerce version 2.3.0 chosen was replaced by select2
|
426 |
+
$use_select2 = WJECF()->check_woocommerce_version('2.3.0');
|
427 |
+
if ($use_select2) {
|
428 |
+
$this->render_admin_select2_product_selector( $dom_id, $field_name, $product_key_values, $placeholder );
|
429 |
+
} else {
|
430 |
+
$this->render_admin_chosen_product_selector( $dom_id, $field_name, $product_key_values, $placeholder );
|
431 |
+
}
|
432 |
+
|
433 |
+
}
|
434 |
+
|
435 |
+
private function render_admin_chosen_product_selector( $dom_id, $field_name, $selected_keys_and_values, $placeholder ) {
|
436 |
+
// $selected_keys_and_values must be an array of [ id => name ]
|
437 |
+
|
438 |
+
echo '<select id="' . esc_attr( $dom_id ) . '" name="' . esc_attr( $field_name ) . '" class="ajax_chosen_select_products_and_variations" multiple="multiple" data-placeholder="' . esc_attr( $placeholder ) . '">';
|
439 |
+
foreach ( $selected_keys_and_values as $product_id => $product_name ) {
|
440 |
+
echo '<option value="' . $product_id . '" selected="selected">' . $product_name . '</option>';
|
441 |
+
}
|
442 |
+
echo '</select>';
|
443 |
+
}
|
444 |
+
|
445 |
+
private function render_admin_select2_product_selector( $dom_id, $field_name, $selected_keys_and_values, $placeholder ) {
|
446 |
+
// $selected_keys_and_values must be an array of [ id => name ]
|
447 |
+
|
448 |
+
$json_encoded = esc_attr( json_encode( $selected_keys_and_values ) );
|
449 |
+
echo '<input type="hidden" class="wc-product-search" data-multiple="true" style="width: 50%;" name="'
|
450 |
+
. esc_attr( $field_name ) . '" data-placeholder="'
|
451 |
+
. esc_attr( $placeholder ) . '" data-action="woocommerce_json_search_products_and_variations" data-selected="'
|
452 |
+
. $json_encoded . '" value="' . implode( ',', array_keys( $selected_keys_and_values ) ) . '" />';
|
453 |
+
|
454 |
+
}
|
455 |
+
|
456 |
public static function get_donate_url() {
|
457 |
return "https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=5T9XQBCS2QHRY&lc=NL&item_name=Jos%20Koenis&item_number=wordpress%2dplugin¤cy_code=EUR&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted";
|
458 |
}
|
|
|
459 |
}
|
includes/wjecf-autocoupon.php
CHANGED
@@ -10,7 +10,7 @@ class WJECF_AutoCoupon extends Abstract_WJECF_Plugin {
|
|
10 |
|
11 |
protected $_executed_coupon_by_url = false;
|
12 |
|
13 |
-
public function __construct() {
|
14 |
add_action('init', array( &$this, 'controller_init' ));
|
15 |
}
|
16 |
|
@@ -20,14 +20,14 @@ class WJECF_AutoCoupon extends Abstract_WJECF_Plugin {
|
|
20 |
}
|
21 |
|
22 |
//Admin hooks
|
23 |
-
|
24 |
-
|
25 |
//Frontend hooks - logic
|
26 |
if ( WJECF()->check_woocommerce_version('2.3.0')) {
|
27 |
add_action( 'woocommerce_after_calculate_totals', array( &$this, 'update_matched_autocoupons' ) );
|
28 |
} else {
|
29 |
//WC Versions prior to 2.3.0 don't have after_calculate_totals hook, this is a fallback
|
30 |
-
|
31 |
}
|
32 |
add_action( 'woocommerce_check_cart_items', array( &$this, 'remove_unmatched_autocoupons' ) , 0, 0 ); //Remove coupon before WC does it and shows a message
|
33 |
//Last check for coupons with restricted_emails
|
@@ -41,11 +41,11 @@ class WJECF_AutoCoupon extends Abstract_WJECF_Plugin {
|
|
41 |
add_filter('option_woocommerce_cart_redirect_after_add', array ( &$this, 'option_woocommerce_cart_redirect_after_add') );
|
42 |
|
43 |
if ( ! is_ajax() ) {
|
44 |
-
add_action( '
|
45 |
}
|
46 |
|
47 |
}
|
48 |
-
|
49 |
/* ADMIN HOOKS */
|
50 |
public function admin_init() {
|
51 |
add_action( 'wjecf_woocommerce_coupon_options_extended_features', array( $this, 'admin_coupon_options_extended_features' ), 20, 2 );
|
@@ -96,9 +96,9 @@ class WJECF_AutoCoupon extends Abstract_WJECF_Plugin {
|
|
96 |
public function admin_views_edit_coupon( $views ) {
|
97 |
global $post_type, $wp_query;
|
98 |
|
99 |
-
$class
|
100 |
-
$query_string
|
101 |
-
$query_string
|
102 |
$views['wjecf_is_auto_coupon'] = '<a href="' . esc_url( $query_string ) . '" class="' . esc_attr( $class ) . '">' . __( 'Auto coupons', 'woocommerce' ) . '</a>';
|
103 |
|
104 |
return $views;
|
@@ -133,8 +133,8 @@ class WJECF_AutoCoupon extends Abstract_WJECF_Plugin {
|
|
133 |
//=============================
|
134 |
// Auto coupon checkbox
|
135 |
woocommerce_wp_checkbox( array(
|
136 |
-
'id'
|
137 |
-
'label'
|
138 |
'description' => __( "Automatically add the coupon to the cart if the restrictions are met. Please enter a description when you check this box, the description will be shown in the customer's cart if the coupon is applied.", 'woocommerce-jos-autocoupon' )
|
139 |
) );
|
140 |
|
@@ -154,8 +154,8 @@ class WJECF_AutoCoupon extends Abstract_WJECF_Plugin {
|
|
154 |
//=============================
|
155 |
// Apply without notice
|
156 |
woocommerce_wp_checkbox( array(
|
157 |
-
'id'
|
158 |
-
'label'
|
159 |
'description' => __( "Don't display a message when this coupon is automatically applied.", 'woocommerce-jos-autocoupon' ),
|
160 |
) );
|
161 |
echo '</div>';
|
@@ -185,7 +185,7 @@ class WJECF_AutoCoupon extends Abstract_WJECF_Plugin {
|
|
185 |
|
186 |
update_post_meta( $post_id, '_wjecf_is_auto_coupon', $autocoupon ? 'yes' : 'no' );
|
187 |
update_post_meta( $post_id, '_wjecf_apply_silently', isset( $_POST['_wjecf_apply_silently'] ) ? 'yes' : 'no' );
|
188 |
-
if ( WJECF()->is_pro() ) {
|
189 |
update_post_meta( $post_id, '_wjecf_coupon_priority', intval( $_POST['_wjecf_coupon_priority'] ) );
|
190 |
}
|
191 |
}
|
@@ -206,26 +206,66 @@ class WJECF_AutoCoupon extends Abstract_WJECF_Plugin {
|
|
206 |
* Add coupon through url
|
207 |
*/
|
208 |
public function coupon_by_url() {
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
222 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
223 |
$requested_url = is_ssl() ? 'https://' : 'http://';
|
224 |
-
$requested_url .= $_SERVER['HTTP_HOST'];
|
225 |
$requested_url .= $_SERVER['REQUEST_URI'];
|
226 |
wp_safe_redirect( remove_query_arg( array( 'apply_coupon', 'add-to-cart' ), ( $requested_url ) ) );
|
227 |
exit;
|
228 |
-
|
229 |
}
|
230 |
|
231 |
/**
|
@@ -276,7 +316,7 @@ class WJECF_AutoCoupon extends Abstract_WJECF_Plugin {
|
|
276 |
function remove_unmatched_autocoupons( $valid_coupon_codes = null ) {
|
277 |
if ( $valid_coupon_codes === null ) {
|
278 |
//Get the coupons that should be in the cart
|
279 |
-
$valid_coupons = $this->
|
280 |
$valid_coupons = $this->individual_use_filter( $valid_coupons );
|
281 |
$valid_coupon_codes = array();
|
282 |
foreach ( $valid_coupons as $coupon ) {
|
@@ -309,26 +349,40 @@ class WJECF_AutoCoupon extends Abstract_WJECF_Plugin {
|
|
309 |
$this->update_matched_autocoupons_executed = true;
|
310 |
$this->log( "()" );
|
311 |
|
|
|
|
|
|
|
312 |
//Get the coupons that should be in the cart
|
313 |
-
$valid_coupons = $this->
|
314 |
$valid_coupons = $this->individual_use_filter( $valid_coupons );
|
|
|
315 |
$valid_coupon_codes = array();
|
316 |
foreach ( $valid_coupons as $coupon ) {
|
317 |
$valid_coupon_codes[] = $coupon->code;
|
318 |
}
|
319 |
|
320 |
-
//$this->log( sprintf( "
|
321 |
|
322 |
$calc_needed = $this->remove_unmatched_autocoupons( $valid_coupon_codes );
|
323 |
|
324 |
//Add valids
|
325 |
foreach( $valid_coupons as $coupon ) {
|
326 |
if ( ! WC()->cart->has_discount( $coupon->code ) ) {
|
327 |
-
$this->log( sprintf( "Applying %s", $coupon->code ) );
|
328 |
WC()->cart->add_discount( $coupon->code ); //Causes calculation and will remove other coupons if it's a individual coupon
|
329 |
$calc_needed = false; //Already done by adding the discount
|
|
|
330 |
$apply_silently = get_post_meta( $coupon->id, '_wjecf_apply_silently', true ) == 'yes';
|
331 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
332 |
}
|
333 |
}
|
334 |
|
@@ -340,7 +394,58 @@ class WJECF_AutoCoupon extends Abstract_WJECF_Plugin {
|
|
340 |
|
341 |
}
|
342 |
|
343 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
344 |
$valid_coupons = array();
|
345 |
foreach ( $this->get_all_auto_coupons() as $coupon ) {
|
346 |
if ( $this->coupon_can_be_applied( $coupon ) && $this->coupon_has_a_value( $coupon ) ) {
|
@@ -393,10 +498,8 @@ class WJECF_AutoCoupon extends Abstract_WJECF_Plugin {
|
|
393 |
global $woocommerce;
|
394 |
foreach ( $woocommerce->cart->get_cart() as $cart_item) {
|
395 |
if ( $coupon->is_valid_for_cart() || $coupon->is_valid_for_product( $cart_item['data'], $cart_item ) ) {
|
396 |
-
|
397 |
-
|
398 |
-
break;
|
399 |
-
}
|
400 |
}
|
401 |
}
|
402 |
}
|
@@ -409,19 +512,14 @@ class WJECF_AutoCoupon extends Abstract_WJECF_Plugin {
|
|
409 |
/**
|
410 |
* Overwrite the default "Coupon added" notice with a more descriptive message.
|
411 |
* @param WC_Coupon $coupon The coupon data
|
412 |
-
* @param bool
|
413 |
* @return void
|
414 |
*/
|
415 |
-
private function overwrite_success_message( $coupon, $
|
416 |
$succss_msg = $coupon->get_coupon_message( WC_Coupon::WC_COUPON_SUCCESS );
|
417 |
|
418 |
//If ajax, remove only
|
419 |
-
$remove_message_only
|
420 |
-
|
421 |
-
$new_succss_msg = sprintf(
|
422 |
-
__("Discount applied: %s", 'woocommerce-jos-autocoupon'),
|
423 |
-
__($this->coupon_excerpt($coupon), 'woocommerce-jos-autocoupon')
|
424 |
-
);
|
425 |
|
426 |
//Compatibility woocommerce-2-1-notice-api
|
427 |
if ( function_exists('wc_get_notices') ) {
|
@@ -443,7 +541,6 @@ class WJECF_AutoCoupon extends Abstract_WJECF_Plugin {
|
|
443 |
} else {
|
444 |
$all_notices['success'][$y] = $new_succss_msg;
|
445 |
}
|
446 |
-
|
447 |
WC()->session->set( 'wc_notices', $all_notices );
|
448 |
} else {
|
449 |
if ( $remove_message_only ) {
|
@@ -504,7 +601,7 @@ class WJECF_AutoCoupon extends Abstract_WJECF_Plugin {
|
|
504 |
if ( isset( $_POST['billing_email'] ) )
|
505 |
$this->_user_emails[] = $_POST['billing_email'];
|
506 |
}
|
507 |
-
//$this->log( "User emails: " .
|
508 |
return $this->_user_emails;
|
509 |
}
|
510 |
|
@@ -519,7 +616,7 @@ class WJECF_AutoCoupon extends Abstract_WJECF_Plugin {
|
|
519 |
$append_emails = array( $append_emails );
|
520 |
}
|
521 |
$this->_user_emails = array_unique( array_merge( $this->get_user_emails(), $append_emails ) );
|
522 |
-
//$this->log('Append emails: ' .
|
523 |
}
|
524 |
|
525 |
public function fetch_billing_email( $post_data ) {
|
@@ -581,7 +678,7 @@ class WJECF_AutoCoupon extends Abstract_WJECF_Plugin {
|
|
581 |
),
|
582 |
)
|
583 |
);
|
584 |
-
|
585 |
$query = new WP_Query($query_args);
|
586 |
foreach ($query->posts as $post) {
|
587 |
$coupon = new WC_Coupon($post->post_title);
|
10 |
|
11 |
protected $_executed_coupon_by_url = false;
|
12 |
|
13 |
+
public function __construct() {
|
14 |
add_action('init', array( &$this, 'controller_init' ));
|
15 |
}
|
16 |
|
20 |
}
|
21 |
|
22 |
//Admin hooks
|
23 |
+
add_action( 'admin_init', array( &$this, 'admin_init' ) );
|
24 |
+
|
25 |
//Frontend hooks - logic
|
26 |
if ( WJECF()->check_woocommerce_version('2.3.0')) {
|
27 |
add_action( 'woocommerce_after_calculate_totals', array( &$this, 'update_matched_autocoupons' ) );
|
28 |
} else {
|
29 |
//WC Versions prior to 2.3.0 don't have after_calculate_totals hook, this is a fallback
|
30 |
+
add_action( 'woocommerce_cart_updated', array( &$this, 'update_matched_autocoupons' ) );
|
31 |
}
|
32 |
add_action( 'woocommerce_check_cart_items', array( &$this, 'remove_unmatched_autocoupons' ) , 0, 0 ); //Remove coupon before WC does it and shows a message
|
33 |
//Last check for coupons with restricted_emails
|
41 |
add_filter('option_woocommerce_cart_redirect_after_add', array ( &$this, 'option_woocommerce_cart_redirect_after_add') );
|
42 |
|
43 |
if ( ! is_ajax() ) {
|
44 |
+
add_action( 'init', array( &$this, 'coupon_by_url' ), 23); //Coupon through url
|
45 |
}
|
46 |
|
47 |
}
|
48 |
+
|
49 |
/* ADMIN HOOKS */
|
50 |
public function admin_init() {
|
51 |
add_action( 'wjecf_woocommerce_coupon_options_extended_features', array( $this, 'admin_coupon_options_extended_features' ), 20, 2 );
|
96 |
public function admin_views_edit_coupon( $views ) {
|
97 |
global $post_type, $wp_query;
|
98 |
|
99 |
+
$class = ( isset( $wp_query->query['meta_key'] ) && $wp_query->query['meta_key'] == '_wjecf_is_auto_coupon' ) ? 'current' : '';
|
100 |
+
$query_string = remove_query_arg(array( 'wjecf_is_auto_coupon' ));
|
101 |
+
$query_string = add_query_arg( 'wjecf_is_auto_coupon', '1', $query_string );
|
102 |
$views['wjecf_is_auto_coupon'] = '<a href="' . esc_url( $query_string ) . '" class="' . esc_attr( $class ) . '">' . __( 'Auto coupons', 'woocommerce' ) . '</a>';
|
103 |
|
104 |
return $views;
|
133 |
//=============================
|
134 |
// Auto coupon checkbox
|
135 |
woocommerce_wp_checkbox( array(
|
136 |
+
'id' => '_wjecf_is_auto_coupon',
|
137 |
+
'label' => __( 'Auto coupon', 'woocommerce-jos-autocoupon' ),
|
138 |
'description' => __( "Automatically add the coupon to the cart if the restrictions are met. Please enter a description when you check this box, the description will be shown in the customer's cart if the coupon is applied.", 'woocommerce-jos-autocoupon' )
|
139 |
) );
|
140 |
|
154 |
//=============================
|
155 |
// Apply without notice
|
156 |
woocommerce_wp_checkbox( array(
|
157 |
+
'id' => '_wjecf_apply_silently',
|
158 |
+
'label' => __( 'Apply silently', 'woocommerce-jos-autocoupon' ),
|
159 |
'description' => __( "Don't display a message when this coupon is automatically applied.", 'woocommerce-jos-autocoupon' ),
|
160 |
) );
|
161 |
echo '</div>';
|
185 |
|
186 |
update_post_meta( $post_id, '_wjecf_is_auto_coupon', $autocoupon ? 'yes' : 'no' );
|
187 |
update_post_meta( $post_id, '_wjecf_apply_silently', isset( $_POST['_wjecf_apply_silently'] ) ? 'yes' : 'no' );
|
188 |
+
if ( WJECF()->is_pro() ) {
|
189 |
update_post_meta( $post_id, '_wjecf_coupon_priority', intval( $_POST['_wjecf_coupon_priority'] ) );
|
190 |
}
|
191 |
}
|
206 |
* Add coupon through url
|
207 |
*/
|
208 |
public function coupon_by_url() {
|
209 |
+
$must_redirect = false;
|
210 |
+
|
211 |
+
//Apply coupon by url
|
212 |
+
if ( isset( $_GET['apply_coupon'] ) ) {
|
213 |
+
$this->_executed_coupon_by_url = true;
|
214 |
+
$split = explode( ",", wc_clean( $_GET['apply_coupon'] ) );
|
215 |
+
//2.2.2 Make sure a session cookie is set
|
216 |
+
if( ! WC()->session->has_session() )
|
217 |
+
{
|
218 |
+
WC()->session->set_customer_session_cookie( true );
|
219 |
+
}
|
220 |
+
|
221 |
+
$cart = WC()->cart;
|
222 |
+
foreach ( $split as $coupon_code ) {
|
223 |
+
$coupon = WJECF()->get_coupon( $coupon_code );
|
224 |
+
if ( ! $coupon->exists ) {
|
225 |
+
wc_add_notice( $coupon->get_coupon_error( WC_Coupon::E_WC_COUPON_NOT_EXIST ), 'error' );
|
226 |
+
} else {
|
227 |
+
$valid = $coupon->is_valid();
|
228 |
+
if ( $valid ) {
|
229 |
+
$cart->add_discount( $coupon_code );
|
230 |
+
}
|
231 |
+
|
232 |
+
//2.3.3 Keep track of apply_coupon coupons and apply when they validate
|
233 |
+
if ( WJECF()->is_pro() ) {
|
234 |
+
$by_url_coupon_codes = $this->get_by_url_coupon_codes();
|
235 |
+
if ( ! in_array( $coupon_code, $by_url_coupon_codes ) ) {
|
236 |
+
$by_url_coupon_codes[] = $coupon_code;
|
237 |
+
$this->set_by_url_coupon_codes( $by_url_coupon_codes );
|
238 |
+
}
|
239 |
+
if ( ! $valid ) {
|
240 |
+
wc_add_notice( sprintf( __( 'Coupon \'%s\' will be applied when it\'s conditions are met.', 'woocommerce-jos-autocoupon' ), $coupon_code ) );
|
241 |
+
$must_redirect = true;
|
242 |
+
}
|
243 |
+
}
|
244 |
+
}
|
245 |
+
}
|
246 |
+
}
|
247 |
|
248 |
+
//2.3.3 Keep track of apply_coupon coupons and apply when they validate
|
249 |
+
if ( WJECF()->is_pro() ) {
|
250 |
+
//Remove auto coupon codes from session
|
251 |
+
if ( isset( $_GET['remove_coupon'] ) ) {
|
252 |
+
$coupon_code = wc_clean( $_GET['remove_coupon'] );
|
253 |
+
$by_url_coupon_codes = $this->get_by_url_coupon_codes();
|
254 |
+
if( ( $key = array_search( $coupon_code, $by_url_coupon_codes ) ) !== false ) {
|
255 |
+
unset( $by_url_coupon_codes[$key] );
|
256 |
+
$this->set_by_url_coupon_codes( $by_url_coupon_codes );
|
257 |
+
}
|
258 |
+
}
|
259 |
+
}
|
260 |
+
|
261 |
+
//Redirect to page without autocoupon query args
|
262 |
+
if ( $must_redirect ) {
|
263 |
$requested_url = is_ssl() ? 'https://' : 'http://';
|
264 |
+
$requested_url .= $_SERVER['HTTP_HOST'];
|
265 |
$requested_url .= $_SERVER['REQUEST_URI'];
|
266 |
wp_safe_redirect( remove_query_arg( array( 'apply_coupon', 'add-to-cart' ), ( $requested_url ) ) );
|
267 |
exit;
|
268 |
+
}
|
269 |
}
|
270 |
|
271 |
/**
|
316 |
function remove_unmatched_autocoupons( $valid_coupon_codes = null ) {
|
317 |
if ( $valid_coupon_codes === null ) {
|
318 |
//Get the coupons that should be in the cart
|
319 |
+
$valid_coupons = $this->get_valid_auto_coupons();
|
320 |
$valid_coupons = $this->individual_use_filter( $valid_coupons );
|
321 |
$valid_coupon_codes = array();
|
322 |
foreach ( $valid_coupons as $coupon ) {
|
349 |
$this->update_matched_autocoupons_executed = true;
|
350 |
$this->log( "()" );
|
351 |
|
352 |
+
//2.3.3 Keep track of apply_coupon coupons and apply when they validate
|
353 |
+
$this->apply_valid_by_url_coupons();
|
354 |
+
|
355 |
//Get the coupons that should be in the cart
|
356 |
+
$valid_coupons = $this->get_valid_auto_coupons();
|
357 |
$valid_coupons = $this->individual_use_filter( $valid_coupons );
|
358 |
+
|
359 |
$valid_coupon_codes = array();
|
360 |
foreach ( $valid_coupons as $coupon ) {
|
361 |
$valid_coupon_codes[] = $coupon->code;
|
362 |
}
|
363 |
|
364 |
+
//$this->log( sprintf( "Auto coupons that should be in cart: %s", implode( ', ', $valid_coupon_codes ) ) );
|
365 |
|
366 |
$calc_needed = $this->remove_unmatched_autocoupons( $valid_coupon_codes );
|
367 |
|
368 |
//Add valids
|
369 |
foreach( $valid_coupons as $coupon ) {
|
370 |
if ( ! WC()->cart->has_discount( $coupon->code ) ) {
|
371 |
+
$this->log( sprintf( "Applying auto coupon %s", $coupon->code ) );
|
372 |
WC()->cart->add_discount( $coupon->code ); //Causes calculation and will remove other coupons if it's a individual coupon
|
373 |
$calc_needed = false; //Already done by adding the discount
|
374 |
+
|
375 |
$apply_silently = get_post_meta( $coupon->id, '_wjecf_apply_silently', true ) == 'yes';
|
376 |
+
if ( $apply_silently ) {
|
377 |
+
$new_succss_msg = false; // no message
|
378 |
+
} else {
|
379 |
+
$coupon_excerpt = $this->coupon_excerpt($coupon);
|
380 |
+
$new_succss_msg = sprintf(
|
381 |
+
__("Discount applied: %s", 'woocommerce-jos-autocoupon'),
|
382 |
+
__( empty( $coupon_excerpt ) ? $coupon->code : $coupon_excerpt, 'woocommerce-jos-autocoupon')
|
383 |
+
);
|
384 |
+
}
|
385 |
+
$this->overwrite_success_message( $coupon, $new_succss_msg );
|
386 |
}
|
387 |
}
|
388 |
|
394 |
|
395 |
}
|
396 |
|
397 |
+
/**
|
398 |
+
* Apply the valid by_url coupons
|
399 |
+
* @return void
|
400 |
+
*/
|
401 |
+
private function apply_valid_by_url_coupons( ) {
|
402 |
+
//2.3.3 Keep track of apply_coupon coupons and apply when they validate
|
403 |
+
if ( WJECF()->is_pro() ) {
|
404 |
+
$this->log( "()" );
|
405 |
+
$by_url_coupon_codes = $this->get_by_url_coupon_codes();
|
406 |
+
$this->log( "By_url coupons: " . implode( ' ', $by_url_coupon_codes ) );
|
407 |
+
foreach( $by_url_coupon_codes as $coupon_code ) {
|
408 |
+
if ( ! WC()->cart->has_discount( $coupon_code ) ) {
|
409 |
+
$coupon = new WC_Coupon( $coupon_code );
|
410 |
+
if ( $coupon->is_valid() ) {
|
411 |
+
$this->log( sprintf( "Applying by_url coupon %s", $coupon->code ) );
|
412 |
+
WC()->cart->add_discount( $coupon->code ); //Causes calculation and will remove other coupons if it's a individual coupon
|
413 |
+
//$calc_needed = false; //Already done by adding the discount
|
414 |
+
$new_succss_msg = sprintf(
|
415 |
+
__("Discount applied: %s", 'woocommerce-jos-autocoupon'),
|
416 |
+
__($coupon->code, 'woocommerce-jos-autocoupon')
|
417 |
+
);
|
418 |
+
$this->overwrite_success_message( $coupon, $new_succss_msg );
|
419 |
+
} elseif ( ! $coupon->exists ) {
|
420 |
+
//Remove non-existent
|
421 |
+
if( ( $key = array_search($coupon_code, $by_url_coupon_codes ) ) !== false ) {
|
422 |
+
unset( $by_url_coupon_codes[$key] );
|
423 |
+
$this->set_by_url_coupon_codes( $by_url_coupon_codes );
|
424 |
+
}
|
425 |
+
//wc_add_notice( $coupon->get_coupon_error( WC_Coupon::E_WC_COUPON_NOT_EXIST ), 'error' );
|
426 |
+
}
|
427 |
+
}
|
428 |
+
}
|
429 |
+
}
|
430 |
+
}
|
431 |
+
|
432 |
+
/**
|
433 |
+
* Get the by_url coupon codes from the session
|
434 |
+
* @return array The coupon codes
|
435 |
+
*/
|
436 |
+
public function get_by_url_coupon_codes() {
|
437 |
+
return WC()->session->get( 'wjecf_by_url_coupons' , array() );
|
438 |
+
}
|
439 |
+
/**
|
440 |
+
* Save the by_url coupon codes in the session
|
441 |
+
* @param array $coupon_codes
|
442 |
+
* @return void
|
443 |
+
*/
|
444 |
+
public function set_by_url_coupon_codes( $coupon_codes ) {
|
445 |
+
WC()->session->set( 'wjecf_by_url_coupons' , array_unique( $coupon_codes ) );
|
446 |
+
}
|
447 |
+
|
448 |
+
private function get_valid_auto_coupons( ) {
|
449 |
$valid_coupons = array();
|
450 |
foreach ( $this->get_all_auto_coupons() as $coupon ) {
|
451 |
if ( $this->coupon_can_be_applied( $coupon ) && $this->coupon_has_a_value( $coupon ) ) {
|
498 |
global $woocommerce;
|
499 |
foreach ( $woocommerce->cart->get_cart() as $cart_item) {
|
500 |
if ( $coupon->is_valid_for_cart() || $coupon->is_valid_for_product( $cart_item['data'], $cart_item ) ) {
|
501 |
+
$has_a_value = true;
|
502 |
+
break;
|
|
|
|
|
503 |
}
|
504 |
}
|
505 |
}
|
512 |
/**
|
513 |
* Overwrite the default "Coupon added" notice with a more descriptive message.
|
514 |
* @param WC_Coupon $coupon The coupon data
|
515 |
+
* @param string|bool $new_succss_msg The message to display. If false (or empty string), no message will be shown
|
516 |
* @return void
|
517 |
*/
|
518 |
+
private function overwrite_success_message( $coupon, $new_succss_msg = false ) {
|
519 |
$succss_msg = $coupon->get_coupon_message( WC_Coupon::WC_COUPON_SUCCESS );
|
520 |
|
521 |
//If ajax, remove only
|
522 |
+
$remove_message_only = empty( $new_succss_msg ) || ( defined('DOING_AJAX') && DOING_AJAX );
|
|
|
|
|
|
|
|
|
|
|
523 |
|
524 |
//Compatibility woocommerce-2-1-notice-api
|
525 |
if ( function_exists('wc_get_notices') ) {
|
541 |
} else {
|
542 |
$all_notices['success'][$y] = $new_succss_msg;
|
543 |
}
|
|
|
544 |
WC()->session->set( 'wc_notices', $all_notices );
|
545 |
} else {
|
546 |
if ( $remove_message_only ) {
|
601 |
if ( isset( $_POST['billing_email'] ) )
|
602 |
$this->_user_emails[] = $_POST['billing_email'];
|
603 |
}
|
604 |
+
//$this->log( "User emails: " . implode( ",", $this->_user_emails ) );
|
605 |
return $this->_user_emails;
|
606 |
}
|
607 |
|
616 |
$append_emails = array( $append_emails );
|
617 |
}
|
618 |
$this->_user_emails = array_unique( array_merge( $this->get_user_emails(), $append_emails ) );
|
619 |
+
//$this->log('Append emails: ' . implode( ',', $append_emails ) );
|
620 |
}
|
621 |
|
622 |
public function fetch_billing_email( $post_data ) {
|
678 |
),
|
679 |
)
|
680 |
);
|
681 |
+
|
682 |
$query = new WP_Query($query_args);
|
683 |
foreach ($query->posts as $post) {
|
684 |
$coupon = new WC_Coupon($post->post_title);
|
includes/wjecf-controller.php
CHANGED
@@ -44,15 +44,22 @@ class WJECF_Controller {
|
|
44 |
if ( ! class_exists('WC_Coupon') ) {
|
45 |
return;
|
46 |
}
|
47 |
-
$this->debug_mode = false; //defined( 'WP_DEBUG' ) && WP_DEBUG;
|
48 |
$this->log( "INIT " . ( is_ajax() ? "AJAX" : is_admin() ? "ADMIN" : "FRONTEND" ) . " " . $_SERVER['REQUEST_URI'] );
|
49 |
|
50 |
$this->init_options();
|
51 |
|
52 |
//Frontend hooks
|
53 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
add_filter('woocommerce_coupon_error', array( &$this, 'woocommerce_coupon_error' ), 10, 3 );
|
55 |
-
add_action('woocommerce_coupon_loaded', array(
|
56 |
add_filter('woocommerce_coupon_get_discount_amount', array( $this, 'woocommerce_coupon_get_discount_amount' ), 10, 5);
|
57 |
add_action( 'wp_footer', array( &$this, 'render_log' ) ); //Log
|
58 |
}
|
@@ -222,7 +229,8 @@ class WJECF_Controller {
|
|
222 |
if ( $products_and && sizeof( $coupon->product_ids ) > 1 ) { // We use > 1, because if size == 1, 'AND' makes no difference
|
223 |
//Get array of all cart product and variation ids
|
224 |
$cart_item_ids = array();
|
225 |
-
|
|
|
226 |
$cart_item_ids[] = $cart_item['product_id'];
|
227 |
$cart_item_ids[] = $cart_item['variation_id'];
|
228 |
}
|
@@ -243,7 +251,8 @@ class WJECF_Controller {
|
|
243 |
if ( $categories_and && sizeof( $coupon->product_categories ) > 1 ) { // We use > 1, because if size == 1, 'AND' makes no difference
|
244 |
//Get array of all cart product and variation ids
|
245 |
$cart_product_cats = array();
|
246 |
-
|
|
|
247 |
$cart_product_cats = array_merge ( $cart_product_cats, wp_get_post_terms( $cart_item['product_id'], 'product_cat', array( "fields" => "ids" ) ) );
|
248 |
}
|
249 |
//Filter used by WJECF_WPML hook
|
@@ -395,7 +404,7 @@ class WJECF_Controller {
|
|
395 |
|
396 |
$qty = 0;
|
397 |
foreach( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
|
398 |
-
$_product = $cart_item['data'];
|
399 |
if ($this->coupon_is_valid_for_product( $coupon, $_product, $cart_item ) ) {
|
400 |
$qty += $cart_item['quantity'];
|
401 |
}
|
@@ -432,14 +441,23 @@ class WJECF_Controller {
|
|
432 |
return false;
|
433 |
}
|
434 |
|
435 |
-
//
|
436 |
-
$
|
|
|
|
|
|
|
437 |
if ( ! $this->coupon_is_type( $coupon, array( 'fixed_product', 'percent_product' ) ) ) {
|
438 |
-
$
|
|
|
439 |
}
|
|
|
440 |
$valid = $coupon->is_valid_for_product( $product, $values );
|
441 |
-
|
442 |
-
|
|
|
|
|
|
|
|
|
443 |
return $valid;
|
444 |
}
|
445 |
|
@@ -492,6 +510,25 @@ class WJECF_Controller {
|
|
492 |
}
|
493 |
}
|
494 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
495 |
/**
|
496 |
* Get array of the selected shipping methods ids.
|
497 |
* @param int $coupon_id The coupon id
|
@@ -569,6 +606,74 @@ class WJECF_Controller {
|
|
569 |
return $this instanceof WJECF_Pro_Controller;
|
570 |
}
|
571 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
572 |
|
573 |
private $_session_data = null;
|
574 |
/**
|
44 |
if ( ! class_exists('WC_Coupon') ) {
|
45 |
return;
|
46 |
}
|
47 |
+
$this->debug_mode = false; // defined( 'WP_DEBUG' ) && WP_DEBUG;
|
48 |
$this->log( "INIT " . ( is_ajax() ? "AJAX" : is_admin() ? "ADMIN" : "FRONTEND" ) . " " . $_SERVER['REQUEST_URI'] );
|
49 |
|
50 |
$this->init_options();
|
51 |
|
52 |
//Frontend hooks
|
53 |
+
|
54 |
+
//assert_coupon_is_valid (which raises exception on invalid coupon) can only be used on WC 2.3.0 and up
|
55 |
+
if ( self::check_woocommerce_version('2.3.0') ) {
|
56 |
+
add_filter('woocommerce_coupon_is_valid', array( &$this, 'assert_coupon_is_valid' ), 10, 2 );
|
57 |
+
} else {
|
58 |
+
add_filter('woocommerce_coupon_is_valid', array( &$this, 'coupon_is_valid' ), 10, 2 );
|
59 |
+
}
|
60 |
+
|
61 |
add_filter('woocommerce_coupon_error', array( &$this, 'woocommerce_coupon_error' ), 10, 3 );
|
62 |
+
add_action('woocommerce_coupon_loaded', array( &$this, 'woocommerce_coupon_loaded' ), 10, 1);
|
63 |
add_filter('woocommerce_coupon_get_discount_amount', array( $this, 'woocommerce_coupon_get_discount_amount' ), 10, 5);
|
64 |
add_action( 'wp_footer', array( &$this, 'render_log' ) ); //Log
|
65 |
}
|
229 |
if ( $products_and && sizeof( $coupon->product_ids ) > 1 ) { // We use > 1, because if size == 1, 'AND' makes no difference
|
230 |
//Get array of all cart product and variation ids
|
231 |
$cart_item_ids = array();
|
232 |
+
$cart = WC()->cart->get_cart();
|
233 |
+
foreach( $cart as $cart_item_key => $cart_item ) {
|
234 |
$cart_item_ids[] = $cart_item['product_id'];
|
235 |
$cart_item_ids[] = $cart_item['variation_id'];
|
236 |
}
|
251 |
if ( $categories_and && sizeof( $coupon->product_categories ) > 1 ) { // We use > 1, because if size == 1, 'AND' makes no difference
|
252 |
//Get array of all cart product and variation ids
|
253 |
$cart_product_cats = array();
|
254 |
+
$cart = WC()->cart->get_cart();
|
255 |
+
foreach( $cart as $cart_item_key => $cart_item ) {
|
256 |
$cart_product_cats = array_merge ( $cart_product_cats, wp_get_post_terms( $cart_item['product_id'], 'product_cat', array( "fields" => "ids" ) ) );
|
257 |
}
|
258 |
//Filter used by WJECF_WPML hook
|
404 |
|
405 |
$qty = 0;
|
406 |
foreach( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
|
407 |
+
$_product = $cart_item['data'];
|
408 |
if ($this->coupon_is_valid_for_product( $coupon, $_product, $cart_item ) ) {
|
409 |
$qty += $cart_item['quantity'];
|
410 |
}
|
441 |
return false;
|
442 |
}
|
443 |
|
444 |
+
//Save coupon fields that will be temporary overwritten
|
445 |
+
$overwritten_values = $this->restore_values( $coupon );
|
446 |
+
$overwritten_values['discount_type'] = $coupon->discount_type;
|
447 |
+
|
448 |
+
//$coupon->is_valid_for_product only works for these types
|
449 |
if ( ! $this->coupon_is_type( $coupon, array( 'fixed_product', 'percent_product' ) ) ) {
|
450 |
+
$overwritten_values['discount_type'] = $overwritten_values['type'] = $coupon->discount_type;
|
451 |
+
$coupon->discount_type = $coupon->type = 'fixed_product';
|
452 |
}
|
453 |
+
|
454 |
$valid = $coupon->is_valid_for_product( $product, $values );
|
455 |
+
|
456 |
+
//Restore fields
|
457 |
+
foreach( $overwritten_values as $key => $value ) {
|
458 |
+
$coupon->$key = $value;
|
459 |
+
}
|
460 |
+
|
461 |
return $valid;
|
462 |
}
|
463 |
|
510 |
}
|
511 |
}
|
512 |
|
513 |
+
/**
|
514 |
+
* Get categories of a product (and anchestors)
|
515 |
+
* @param int $product_id
|
516 |
+
* @return array product_cat_ids
|
517 |
+
*/
|
518 |
+
function get_product_cat_ids( $product_id ) {
|
519 |
+
//Backwards compatibility WC versions older than 2.5
|
520 |
+
if ( function_exists( 'wc_get_product_cat_ids' ) ) {
|
521 |
+
return wc_get_product_cat_ids( $product_id );
|
522 |
+
} else {
|
523 |
+
$product_cats = wp_get_post_terms( $product_id, 'product_cat', array( "fields" => "ids" ) );
|
524 |
+
|
525 |
+
foreach ( $product_cats as $product_cat ) {
|
526 |
+
$product_cats = array_merge( $product_cats, get_ancestors( $product_cat, 'product_cat' ) );
|
527 |
+
}
|
528 |
+
return $product_cats;
|
529 |
+
}
|
530 |
+
}
|
531 |
+
|
532 |
/**
|
533 |
* Get array of the selected shipping methods ids.
|
534 |
* @param int $coupon_id The coupon id
|
606 |
return $this instanceof WJECF_Pro_Controller;
|
607 |
}
|
608 |
|
609 |
+
// ===========================================================================
|
610 |
+
// START - OVERWRITE COUPON DATA
|
611 |
+
// Allows for non-persistent overwriting of fields during a single PHP call.
|
612 |
+
// ===========================================================================
|
613 |
+
|
614 |
+
protected $original_coupon_data = array();
|
615 |
+
/**
|
616 |
+
* Overwrite a coupon field. Remembers a copy of original value
|
617 |
+
* @param WC_Coupon $coupon
|
618 |
+
* @param string $key
|
619 |
+
* @param mixed $value
|
620 |
+
*/
|
621 |
+
public function overwrite_value( $coupon, $key, $value ) {
|
622 |
+
if ( ! isset( $this->original_coupon_data[ $coupon->code ][ $key ] ) ) { //never overwrite original
|
623 |
+
$this->original_coupon_data[ $coupon->code ][ $key ] = $coupon->$key;
|
624 |
+
}
|
625 |
+
$coupon->$key = $value;
|
626 |
+
}
|
627 |
+
|
628 |
+
/**
|
629 |
+
* Retrieve original coupon field value (in the case it is overwritten using overwrite)
|
630 |
+
* @param WC_Coupon $coupon
|
631 |
+
* @param string $key
|
632 |
+
* @return mixed The original value
|
633 |
+
*/
|
634 |
+
public function original_value( $coupon, $key ) {
|
635 |
+
if ( isset( $this->original_coupon_data[ $coupon->code ][ $key ] ) ) {
|
636 |
+
return $this->original_coupon_data[ $coupon->code ][ $key ];
|
637 |
+
} else {
|
638 |
+
return $coupon->$key;
|
639 |
+
}
|
640 |
+
}
|
641 |
+
|
642 |
+
|
643 |
+
/**
|
644 |
+
* Restore original values to the coupon fields
|
645 |
+
* @param WC_Coupon $coupon
|
646 |
+
* @param array $keys The fields to restore; will restore all if omitted
|
647 |
+
* @return array Array with the keys and values of the fields that were overwritten
|
648 |
+
*/
|
649 |
+
public function restore_values( $coupon, $keys = null ) {
|
650 |
+
$overwritten_values = array();
|
651 |
+
if ( isset( $this->original_coupon_data[ $coupon->code ] ) ) {
|
652 |
+
foreach( $this->original_coupon_data[ $coupon->code ] as $key => $value ) {
|
653 |
+
if ( $keys === null || in_array( $key, $keys ) ) {
|
654 |
+
$overwritten_values[ $key ] = $coupon->$key;
|
655 |
+
$coupon->$key = $value;
|
656 |
+
}
|
657 |
+
}
|
658 |
+
}
|
659 |
+
return $overwritten_values;
|
660 |
+
}
|
661 |
+
|
662 |
+
/**
|
663 |
+
* Restore original value to the coupon field
|
664 |
+
* @param WC_Coupon $coupon
|
665 |
+
* @param string $key
|
666 |
+
*/
|
667 |
+
public function restore_value( $coupon, $key ) {
|
668 |
+
$coupon->$key = $this->original_value( $coupon, $key );
|
669 |
+
unset( $this->original_coupon_data[ $coupon->code ][ $key ] );
|
670 |
+
}
|
671 |
+
|
672 |
+
// ===========================================================================
|
673 |
+
// END - OVERWRITE COUPON DATA
|
674 |
+
// ===========================================================================
|
675 |
+
|
676 |
+
|
677 |
|
678 |
private $_session_data = null;
|
679 |
/**
|
languages/woocommerce-jos-autocoupon-es_ES.mo
CHANGED
Binary file
|
languages/woocommerce-jos-autocoupon-es_ES.po
CHANGED
@@ -5,8 +5,8 @@ msgstr ""
|
|
5 |
"Project-Id-Version: WooCommerce auto added coupons 1.1.3.1\n"
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/woocommerce-auto-"
|
7 |
"added-coupons\n"
|
8 |
-
"POT-Creation-Date: 2016-
|
9 |
-
"PO-Revision-Date: 2016-
|
10 |
"Last-Translator: \n"
|
11 |
"Language-Team: \n"
|
12 |
"Language: es_ES\n"
|
@@ -18,47 +18,68 @@ msgstr ""
|
|
18 |
"X-Poedit-Basepath: C:/lamp/www/qrvm_woo/wp-content/plugins\n"
|
19 |
"X-Poedit-SearchPath-0: woocommerce-auto-added-coupons\n"
|
20 |
|
21 |
-
#: includes/admin/wjecf-admin.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
msgid "Do you find WooCommerce Extended Coupon Features useful?"
|
23 |
msgstr "Le gusta WooCommerce Extended Coupon Features?"
|
24 |
|
25 |
-
#: includes/admin/wjecf-admin.php:
|
26 |
msgid "Express your gratitude"
|
27 |
msgstr "Exprese su gratitud"
|
28 |
|
29 |
-
#: includes/admin/wjecf-admin.php:
|
30 |
msgid "Donate to the developer"
|
31 |
msgstr "Hacer una donación"
|
32 |
|
33 |
-
#: includes/admin/wjecf-admin.php:
|
34 |
msgid "Documentation"
|
35 |
msgstr "Documentación"
|
36 |
|
37 |
-
#: includes/admin/wjecf-admin.php:
|
38 |
msgid "WooCommerce Extended Coupon Features Documentation"
|
39 |
msgstr "Documentación de WooCommerce Extended Coupon Features"
|
40 |
|
41 |
-
#: includes/admin/wjecf-admin.php:
|
42 |
-
msgid "Products"
|
43 |
-
msgstr "Productos"
|
44 |
-
|
45 |
-
#: includes/admin/wjecf-admin.php:123 includes/admin/wjecf-admin.php:230
|
46 |
-
msgid "Checkout"
|
47 |
-
msgstr "Tramitar"
|
48 |
-
|
49 |
-
#: includes/admin/wjecf-admin.php:129 includes/admin/wjecf-admin.php:340
|
50 |
-
msgid "Miscellaneous"
|
51 |
-
msgstr "Diversos"
|
52 |
-
|
53 |
-
#: includes/admin/wjecf-admin.php:141
|
54 |
msgid "Matching products"
|
55 |
msgstr "Productos conformes"
|
56 |
|
57 |
-
#: includes/admin/wjecf-admin.php:
|
58 |
msgid "AND Products (not OR)"
|
59 |
msgstr "TODOS los productos"
|
60 |
|
61 |
-
#: includes/admin/wjecf-admin.php:
|
62 |
msgid ""
|
63 |
"Check this box if ALL of the products (see tab 'usage restriction') must be "
|
64 |
"in the cart to use this coupon (instead of only one of the products)."
|
@@ -66,11 +87,11 @@ msgstr ""
|
|
66 |
"Marque esta casilla si TODOS los productos (vea 'Restricción de uso') "
|
67 |
"necesitan estar en el carrito de compras (en lugar de uno de los productos)."
|
68 |
|
69 |
-
#: includes/admin/wjecf-admin.php:
|
70 |
msgid "AND Categories (not OR)"
|
71 |
msgstr "TODAS las categorias"
|
72 |
|
73 |
-
#: includes/admin/wjecf-admin.php:
|
74 |
msgid ""
|
75 |
"Check this box if products from ALL of the categories (see tab 'usage "
|
76 |
"restriction') must be in the cart to use this coupon (instead of only one "
|
@@ -80,88 +101,88 @@ msgstr ""
|
|
80 |
"de uso') necesitan estar en el carrito de compras (en lugar de un producto "
|
81 |
"de uno de los productos)."
|
82 |
|
83 |
-
#: includes/admin/wjecf-admin.php:
|
84 |
msgid "(AND)"
|
85 |
msgstr "(TODOS)"
|
86 |
|
87 |
-
#: includes/admin/wjecf-admin.php:
|
88 |
msgid "(OR)"
|
89 |
msgstr "(UNO)"
|
90 |
|
91 |
-
#: includes/admin/wjecf-admin.php:
|
92 |
msgid "Minimum quantity of matching products"
|
93 |
msgstr "Cantidad mínima de productos conformes."
|
94 |
|
95 |
-
#: includes/admin/wjecf-admin.php:
|
96 |
msgid "No minimum"
|
97 |
msgstr "Sin mínimo"
|
98 |
|
99 |
-
#: includes/admin/wjecf-admin.php:
|
100 |
msgid ""
|
101 |
"Minimum quantity of the products that match the given product or category "
|
102 |
"restrictions (see tab 'usage restriction'). If no product or category "
|
103 |
"restrictions are specified, the total number of products is used."
|
104 |
msgstr "Cantidad mínima de productos conformes (vea 'Restricción de uso')."
|
105 |
|
106 |
-
#: includes/admin/wjecf-admin.php:
|
107 |
msgid "Maximum quantity of matching products"
|
108 |
msgstr "Cantidad máxima de productos conformes."
|
109 |
|
110 |
-
#: includes/admin/wjecf-admin.php:
|
111 |
msgid "No maximum"
|
112 |
msgstr "Sin máximo"
|
113 |
|
114 |
-
#: includes/admin/wjecf-admin.php:
|
115 |
msgid ""
|
116 |
"Maximum quantity of the products that match the given product or category "
|
117 |
"restrictions (see tab 'usage restriction'). If no product or category "
|
118 |
"restrictions are specified, the total number of products is used."
|
119 |
msgstr "Cantidad máxima de productos conformes (vea 'Restricción de uso')."
|
120 |
|
121 |
-
#: includes/admin/wjecf-admin.php:
|
122 |
msgid "Minimum subtotal of matching products"
|
123 |
msgstr "Subtotal mínimo de productos conformes."
|
124 |
|
125 |
-
#: includes/admin/wjecf-admin.php:
|
126 |
msgid ""
|
127 |
"Minimum price subtotal of the products that match the given product or "
|
128 |
"category restrictions (see tab 'usage restriction')."
|
129 |
msgstr "Subtotal mínimo de productos conformes (vea 'Restricción de uso')."
|
130 |
|
131 |
-
#: includes/admin/wjecf-admin.php:
|
132 |
msgid "Maximum subtotal of matching products"
|
133 |
msgstr "Subtotal máximo de productos conformes."
|
134 |
|
135 |
-
#: includes/admin/wjecf-admin.php:
|
136 |
msgid ""
|
137 |
"Maximum price subtotal of the products that match the given product or "
|
138 |
"category restrictions (see tab 'usage restriction')."
|
139 |
msgstr "Subtotal máximo de productos conformes (vea 'Restricción de uso')."
|
140 |
|
141 |
-
#: includes/admin/wjecf-admin.php:
|
142 |
msgid "Shipping methods"
|
143 |
msgstr "Métodos de envío"
|
144 |
|
145 |
-
#: includes/admin/wjecf-admin.php:
|
146 |
msgid "Any shipping method"
|
147 |
msgstr "Métodos de envío"
|
148 |
|
149 |
-
#: includes/admin/wjecf-admin.php:
|
150 |
msgid ""
|
151 |
"One of these shipping methods must be selected in order for this coupon to "
|
152 |
"be valid."
|
153 |
msgstr ""
|
154 |
"Uno de estos métodos de pago tiene que ser seleccionado para usar este cupón."
|
155 |
|
156 |
-
#: includes/admin/wjecf-admin.php:
|
157 |
msgid "Payment methods"
|
158 |
msgstr "Métodos de pago"
|
159 |
|
160 |
-
#: includes/admin/wjecf-admin.php:
|
161 |
msgid "Any payment method"
|
162 |
msgstr "Métodos de pago"
|
163 |
|
164 |
-
#: includes/admin/wjecf-admin.php:
|
165 |
msgid ""
|
166 |
"One of these payment methods must be selected in order for this coupon to be "
|
167 |
"valid."
|
@@ -169,11 +190,11 @@ msgstr ""
|
|
169 |
"Uno de estos métodos de envío tiene que ser seleccionado para usar este "
|
170 |
"cupón."
|
171 |
|
172 |
-
#: includes/admin/wjecf-admin.php:
|
173 |
msgid "Customer restrictions"
|
174 |
msgstr "Restricción de clientes"
|
175 |
|
176 |
-
#: includes/admin/wjecf-admin.php:
|
177 |
msgid ""
|
178 |
"If both a customer and a role restriction are supplied, matching either one "
|
179 |
"of them will suffice."
|
@@ -181,55 +202,58 @@ msgstr ""
|
|
181 |
"Si se ha introducido tanto una restricción de cliente como una restricción "
|
182 |
"de perfil, sí coincide uno de ellos será suficiente."
|
183 |
|
184 |
-
#: includes/admin/wjecf-admin.php:
|
185 |
msgid "Allowed Customers"
|
186 |
msgstr "Clientes"
|
187 |
|
188 |
-
#: includes/admin/wjecf-admin.php:
|
189 |
msgid "Any customer"
|
190 |
msgstr "Clientes"
|
191 |
|
192 |
-
#: includes/admin/wjecf-admin.php:
|
193 |
msgid "Only these customers may use this coupon."
|
194 |
msgstr "Solo estos clientes pueden usar este cupón."
|
195 |
|
196 |
-
#: includes/admin/wjecf-admin.php:
|
197 |
msgid "Allowed User Roles"
|
198 |
msgstr "Perfiles del cliente"
|
199 |
|
200 |
-
#: includes/admin/wjecf-admin.php:
|
201 |
msgid "Any role"
|
202 |
msgstr "Perfiles del cliente"
|
203 |
|
204 |
-
#: includes/admin/wjecf-admin.php:
|
205 |
msgid "Only these User Roles may use this coupon."
|
206 |
msgstr "Solo clientes con este perfil pueden usar este cupón."
|
207 |
|
208 |
-
#: includes/admin/wjecf-admin.php:
|
209 |
msgid "Disallowed User Roles"
|
210 |
msgstr "Perfiles del cliente excluidos"
|
211 |
|
212 |
-
#: includes/admin/wjecf-admin.php:
|
213 |
msgid "These User Roles will be specifically excluded from using this coupon."
|
214 |
msgstr "Clientes con este perfil no pueden usar este cupón."
|
215 |
|
216 |
-
#: includes/admin/wjecf-admin.php:
|
217 |
msgid "Allow when minimum spend not reached"
|
218 |
msgstr ""
|
219 |
|
220 |
-
#: includes/admin/wjecf-admin.php:
|
221 |
-
#: includes/wjecf-pro-free-products.php:
|
222 |
-
#: includes/wjecf-pro-free-products.php:482
|
223 |
msgid "EXPERIMENTAL: "
|
224 |
msgstr "EXPERIMENTAL:"
|
225 |
|
226 |
-
#: includes/admin/wjecf-admin.php:
|
227 |
msgid ""
|
228 |
"Check this box to allow the coupon to be in the cart even when minimum spend "
|
229 |
"(see tab 'usage restriction') is not reached. Value of the discount will be "
|
230 |
"0 until minimum spend is reached."
|
231 |
msgstr ""
|
232 |
|
|
|
|
|
|
|
|
|
233 |
#: includes/wjecf-autocoupon.php:58 includes/wjecf-autocoupon.php:130
|
234 |
#: includes/wjecf-autocoupon.php:137
|
235 |
msgid "Auto coupon"
|
@@ -285,138 +309,237 @@ msgstr "Aplicar sin mensaje"
|
|
285 |
msgid "Don't display a message when this coupon is automatically applied."
|
286 |
msgstr "No mostrar mensaje cuando el cupon esté aplicado automaticamente."
|
287 |
|
288 |
-
#: includes/wjecf-autocoupon.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
289 |
msgid "Free shipping coupon"
|
290 |
msgstr "Cupón para envío gratis"
|
291 |
|
292 |
-
#: includes/wjecf-autocoupon.php:
|
293 |
#, php-format
|
294 |
msgid "Discount applied: %s"
|
295 |
msgstr "Descuento aplicado: %s"
|
296 |
|
297 |
-
#: includes/wjecf-controller.php:
|
298 |
#, php-format
|
299 |
msgid "The minimum subtotal of the matching products for this coupon is %s."
|
300 |
msgstr "El subtotal mínimo de los productos conformes para este cupón es %s."
|
301 |
|
302 |
-
#: includes/wjecf-controller.php:
|
303 |
#, php-format
|
304 |
msgid "The maximum subtotal of the matching products for this coupon is %s."
|
305 |
msgstr "El subtotal máximo de los productos conformes para este cupón es %s."
|
306 |
|
307 |
-
#: includes/wjecf-controller.php:
|
308 |
#, php-format
|
309 |
msgid "The minimum quantity of matching products for this coupon is %s."
|
310 |
msgstr "La cantidad mínima de productos conformes para este cupón es %s."
|
311 |
|
312 |
-
#: includes/wjecf-controller.php:
|
313 |
#, php-format
|
314 |
msgid "The maximum quantity of matching products for this coupon is %s."
|
315 |
msgstr "La cantidad máxima de productos conformes para este cupón es %s."
|
316 |
|
317 |
-
#: includes/wjecf-controller.php:
|
318 |
msgid "The coupon is not valid for the currently selected shipping method."
|
319 |
msgstr "El cupón no es válido para este método de envío."
|
320 |
|
321 |
-
#: includes/wjecf-controller.php:
|
322 |
msgid "The coupon is not valid for the currently selected payment method."
|
323 |
msgstr "El cupón no es válido para este método de pago."
|
324 |
|
325 |
-
#: includes/wjecf-controller.php:
|
326 |
#, php-format
|
327 |
msgid "Sorry, it seems the coupon \"%s\" is not yours."
|
328 |
msgstr "Lo sentimos, parece que el cupón \"%s\" no es tuyo."
|
329 |
|
330 |
-
#: includes/wjecf-pro-controller.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
331 |
msgid "Limit discount to"
|
332 |
msgstr "Limitar descuento a"
|
333 |
|
334 |
-
#: includes/wjecf-pro-controller.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
335 |
msgid ""
|
336 |
"Please note that when the discount type is 'Product discount' (see 'General'-"
|
337 |
"tab), the discount will only be applied to <em>matching</em> products."
|
338 |
msgstr ""
|
339 |
|
340 |
-
#: includes/wjecf-pro-
|
341 |
-
msgid "
|
342 |
msgstr ""
|
343 |
|
344 |
-
#: includes/wjecf-pro-
|
345 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
346 |
msgstr ""
|
347 |
|
348 |
-
#: includes/wjecf-pro-
|
|
|
|
|
|
|
|
|
349 |
msgid ""
|
350 |
-
"
|
351 |
-
"
|
352 |
msgstr ""
|
353 |
|
354 |
#: includes/wjecf-pro-free-products.php:80
|
355 |
msgid "Please select your free gift."
|
356 |
msgstr "Elije tu regalo."
|
357 |
|
358 |
-
#: includes/wjecf-pro-free-products.php:
|
359 |
-
#: includes/wjecf-pro-free-products.php:
|
360 |
msgid "Free!"
|
361 |
msgstr "Gratis!"
|
362 |
|
363 |
-
#: includes/wjecf-pro-free-products.php:
|
364 |
-
#: includes/wjecf-pro-free-products.php:
|
365 |
-
#: includes/wjecf-pro-free-products.php:
|
366 |
msgid "Free products"
|
367 |
msgstr "Productos gratis"
|
368 |
|
369 |
-
#: includes/wjecf-pro-free-products.php:
|
370 |
msgid ""
|
371 |
"Free products that will be added to the cart when this coupon is applied."
|
372 |
-
msgstr ""
|
373 |
|
374 |
-
#: includes/wjecf-pro-free-products.php:
|
375 |
msgid "Select one"
|
376 |
msgstr "Elejir uno"
|
377 |
|
378 |
-
#: includes/wjecf-pro-free-products.php:
|
379 |
msgid "Check this box if the customer must choose from the free products."
|
380 |
msgstr ""
|
|
|
|
|
381 |
|
382 |
-
#: includes/wjecf-pro-free-products.php:
|
383 |
msgid "'Select your gift'-message"
|
384 |
msgstr "Mensaje 'Elije tu regalo'"
|
385 |
|
386 |
-
#: includes/wjecf-pro-free-products.php:
|
387 |
msgid "Please choose your free gift:"
|
388 |
msgstr "Elije tu regalo:"
|
389 |
|
390 |
-
#: includes/wjecf-pro-free-products.php:
|
391 |
msgid "This message is displayed when the customer must choose a free product."
|
392 |
msgstr ""
|
393 |
|
394 |
-
#: includes/wjecf-pro-free-products.php:
|
395 |
msgid "Allow multiplication of the free products"
|
396 |
-
msgstr ""
|
397 |
|
398 |
-
#: includes/wjecf-pro-free-products.php:
|
399 |
msgid ""
|
400 |
"The amount of free products is multiplied every time the minimum spend, "
|
401 |
"subtotal or quantity is reached."
|
402 |
msgstr ""
|
403 |
|
404 |
-
#: includes/wjecf-pro-free-products.php:
|
405 |
msgid "BOGO matching products"
|
406 |
msgstr "1+1 gratis para los productos conformes"
|
407 |
|
408 |
-
#: includes/wjecf-pro-free-products.php:
|
409 |
msgid ""
|
410 |
"Buy one or more of any of the matching products (see 'Usage Restriction'-"
|
411 |
"tab) and get one free. Check 'Allow multiplication' to get one free item for "
|
412 |
"every matching item in the cart."
|
413 |
msgstr ""
|
|
|
|
|
|
|
414 |
|
415 |
-
#:
|
416 |
-
msgid "Search for a product…"
|
417 |
-
msgstr "Buscar producto..."
|
418 |
-
|
419 |
-
#: woocommerce-jos-autocoupon-pro.php:33
|
420 |
msgid ""
|
421 |
"WooCommerce Extended Coupon Features is disabled because WooCommerce could "
|
422 |
"not be detected."
|
5 |
"Project-Id-Version: WooCommerce auto added coupons 1.1.3.1\n"
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/woocommerce-auto-"
|
7 |
"added-coupons\n"
|
8 |
+
"POT-Creation-Date: 2016-05-14 13:07+0200\n"
|
9 |
+
"PO-Revision-Date: 2016-05-14 13:15+0200\n"
|
10 |
"Last-Translator: \n"
|
11 |
"Language-Team: \n"
|
12 |
"Language: es_ES\n"
|
18 |
"X-Poedit-Basepath: C:/lamp/www/qrvm_woo/wp-content/plugins\n"
|
19 |
"X-Poedit-SearchPath-0: woocommerce-auto-added-coupons\n"
|
20 |
|
21 |
+
#: includes/admin/wjecf-admin-auto-upgrade.php:36
|
22 |
+
msgid ""
|
23 |
+
"<strong>WooCommerce Extended Coupon Features:</strong> Please note, you're "
|
24 |
+
"using an older version of this plugin, while the data was upgraded to a "
|
25 |
+
"newer version."
|
26 |
+
msgstr ""
|
27 |
+
|
28 |
+
#: includes/admin/wjecf-admin-auto-upgrade.php:44
|
29 |
+
msgid ""
|
30 |
+
"<strong>WooCommerce Extended Coupon Features:</strong> Data succesfully "
|
31 |
+
"upgraded to the newest version."
|
32 |
+
msgstr ""
|
33 |
+
|
34 |
+
#: includes/admin/wjecf-admin.php:19
|
35 |
+
msgid ""
|
36 |
+
"<strong>WooCommerce Extended Coupon Features:</strong> You are using a "
|
37 |
+
"WooCommerce version prior to 2.3.0. Updating of WooCommerce is recommended "
|
38 |
+
"as using an outdated version might cause unexpected behaviour in combination "
|
39 |
+
"with modern plugins."
|
40 |
+
msgstr ""
|
41 |
+
|
42 |
+
#: includes/admin/wjecf-admin.php:68
|
43 |
+
msgid "Products"
|
44 |
+
msgstr "Productos"
|
45 |
+
|
46 |
+
#: includes/admin/wjecf-admin.php:74 includes/admin/wjecf-admin.php:235
|
47 |
+
msgid "Checkout"
|
48 |
+
msgstr "Tramitar"
|
49 |
+
|
50 |
+
#: includes/admin/wjecf-admin.php:80 includes/admin/wjecf-admin.php:345
|
51 |
+
msgid "Miscellaneous"
|
52 |
+
msgstr "Diversos"
|
53 |
+
|
54 |
+
#: includes/admin/wjecf-admin.php:123
|
55 |
msgid "Do you find WooCommerce Extended Coupon Features useful?"
|
56 |
msgstr "Le gusta WooCommerce Extended Coupon Features?"
|
57 |
|
58 |
+
#: includes/admin/wjecf-admin.php:125
|
59 |
msgid "Express your gratitude"
|
60 |
msgstr "Exprese su gratitud"
|
61 |
|
62 |
+
#: includes/admin/wjecf-admin.php:129
|
63 |
msgid "Donate to the developer"
|
64 |
msgstr "Hacer una donación"
|
65 |
|
66 |
+
#: includes/admin/wjecf-admin.php:136
|
67 |
msgid "Documentation"
|
68 |
msgstr "Documentación"
|
69 |
|
70 |
+
#: includes/admin/wjecf-admin.php:138
|
71 |
msgid "WooCommerce Extended Coupon Features Documentation"
|
72 |
msgstr "Documentación de WooCommerce Extended Coupon Features"
|
73 |
|
74 |
+
#: includes/admin/wjecf-admin.php:146
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
75 |
msgid "Matching products"
|
76 |
msgstr "Productos conformes"
|
77 |
|
78 |
+
#: includes/admin/wjecf-admin.php:151
|
79 |
msgid "AND Products (not OR)"
|
80 |
msgstr "TODOS los productos"
|
81 |
|
82 |
+
#: includes/admin/wjecf-admin.php:152
|
83 |
msgid ""
|
84 |
"Check this box if ALL of the products (see tab 'usage restriction') must be "
|
85 |
"in the cart to use this coupon (instead of only one of the products)."
|
87 |
"Marque esta casilla si TODOS los productos (vea 'Restricción de uso') "
|
88 |
"necesitan estar en el carrito de compras (en lugar de uno de los productos)."
|
89 |
|
90 |
+
#: includes/admin/wjecf-admin.php:159
|
91 |
msgid "AND Categories (not OR)"
|
92 |
msgstr "TODAS las categorias"
|
93 |
|
94 |
+
#: includes/admin/wjecf-admin.php:160
|
95 |
msgid ""
|
96 |
"Check this box if products from ALL of the categories (see tab 'usage "
|
97 |
"restriction') must be in the cart to use this coupon (instead of only one "
|
101 |
"de uso') necesitan estar en el carrito de compras (en lugar de un producto "
|
102 |
"de uno de los productos)."
|
103 |
|
104 |
+
#: includes/admin/wjecf-admin.php:165
|
105 |
msgid "(AND)"
|
106 |
msgstr "(TODOS)"
|
107 |
|
108 |
+
#: includes/admin/wjecf-admin.php:166
|
109 |
msgid "(OR)"
|
110 |
msgstr "(UNO)"
|
111 |
|
112 |
+
#: includes/admin/wjecf-admin.php:195
|
113 |
msgid "Minimum quantity of matching products"
|
114 |
msgstr "Cantidad mínima de productos conformes."
|
115 |
|
116 |
+
#: includes/admin/wjecf-admin.php:196 includes/admin/wjecf-admin.php:216
|
117 |
msgid "No minimum"
|
118 |
msgstr "Sin mínimo"
|
119 |
|
120 |
+
#: includes/admin/wjecf-admin.php:197
|
121 |
msgid ""
|
122 |
"Minimum quantity of the products that match the given product or category "
|
123 |
"restrictions (see tab 'usage restriction'). If no product or category "
|
124 |
"restrictions are specified, the total number of products is used."
|
125 |
msgstr "Cantidad mínima de productos conformes (vea 'Restricción de uso')."
|
126 |
|
127 |
+
#: includes/admin/wjecf-admin.php:205
|
128 |
msgid "Maximum quantity of matching products"
|
129 |
msgstr "Cantidad máxima de productos conformes."
|
130 |
|
131 |
+
#: includes/admin/wjecf-admin.php:206 includes/admin/wjecf-admin.php:226
|
132 |
msgid "No maximum"
|
133 |
msgstr "Sin máximo"
|
134 |
|
135 |
+
#: includes/admin/wjecf-admin.php:207
|
136 |
msgid ""
|
137 |
"Maximum quantity of the products that match the given product or category "
|
138 |
"restrictions (see tab 'usage restriction'). If no product or category "
|
139 |
"restrictions are specified, the total number of products is used."
|
140 |
msgstr "Cantidad máxima de productos conformes (vea 'Restricción de uso')."
|
141 |
|
142 |
+
#: includes/admin/wjecf-admin.php:215
|
143 |
msgid "Minimum subtotal of matching products"
|
144 |
msgstr "Subtotal mínimo de productos conformes."
|
145 |
|
146 |
+
#: includes/admin/wjecf-admin.php:217
|
147 |
msgid ""
|
148 |
"Minimum price subtotal of the products that match the given product or "
|
149 |
"category restrictions (see tab 'usage restriction')."
|
150 |
msgstr "Subtotal mínimo de productos conformes (vea 'Restricción de uso')."
|
151 |
|
152 |
+
#: includes/admin/wjecf-admin.php:225
|
153 |
msgid "Maximum subtotal of matching products"
|
154 |
msgstr "Subtotal máximo de productos conformes."
|
155 |
|
156 |
+
#: includes/admin/wjecf-admin.php:227
|
157 |
msgid ""
|
158 |
"Maximum price subtotal of the products that match the given product or "
|
159 |
"category restrictions (see tab 'usage restriction')."
|
160 |
msgstr "Subtotal máximo de productos conformes (vea 'Restricción de uso')."
|
161 |
|
162 |
+
#: includes/admin/wjecf-admin.php:240
|
163 |
msgid "Shipping methods"
|
164 |
msgstr "Métodos de envío"
|
165 |
|
166 |
+
#: includes/admin/wjecf-admin.php:241
|
167 |
msgid "Any shipping method"
|
168 |
msgstr "Métodos de envío"
|
169 |
|
170 |
+
#: includes/admin/wjecf-admin.php:250
|
171 |
msgid ""
|
172 |
"One of these shipping methods must be selected in order for this coupon to "
|
173 |
"be valid."
|
174 |
msgstr ""
|
175 |
"Uno de estos métodos de pago tiene que ser seleccionado para usar este cupón."
|
176 |
|
177 |
+
#: includes/admin/wjecf-admin.php:256
|
178 |
msgid "Payment methods"
|
179 |
msgstr "Métodos de pago"
|
180 |
|
181 |
+
#: includes/admin/wjecf-admin.php:257
|
182 |
msgid "Any payment method"
|
183 |
msgstr "Métodos de pago"
|
184 |
|
185 |
+
#: includes/admin/wjecf-admin.php:268
|
186 |
msgid ""
|
187 |
"One of these payment methods must be selected in order for this coupon to be "
|
188 |
"valid."
|
190 |
"Uno de estos métodos de envío tiene que ser seleccionado para usar este "
|
191 |
"cupón."
|
192 |
|
193 |
+
#: includes/admin/wjecf-admin.php:276
|
194 |
msgid "Customer restrictions"
|
195 |
msgstr "Restricción de clientes"
|
196 |
|
197 |
+
#: includes/admin/wjecf-admin.php:277
|
198 |
msgid ""
|
199 |
"If both a customer and a role restriction are supplied, matching either one "
|
200 |
"of them will suffice."
|
202 |
"Si se ha introducido tanto una restricción de cliente como una restricción "
|
203 |
"de perfil, sí coincide uno de ellos será suficiente."
|
204 |
|
205 |
+
#: includes/admin/wjecf-admin.php:282
|
206 |
msgid "Allowed Customers"
|
207 |
msgstr "Clientes"
|
208 |
|
209 |
+
#: includes/admin/wjecf-admin.php:283
|
210 |
msgid "Any customer"
|
211 |
msgstr "Clientes"
|
212 |
|
213 |
+
#: includes/admin/wjecf-admin.php:296
|
214 |
msgid "Only these customers may use this coupon."
|
215 |
msgstr "Solo estos clientes pueden usar este cupón."
|
216 |
|
217 |
+
#: includes/admin/wjecf-admin.php:303
|
218 |
msgid "Allowed User Roles"
|
219 |
msgstr "Perfiles del cliente"
|
220 |
|
221 |
+
#: includes/admin/wjecf-admin.php:304 includes/admin/wjecf-admin.php:326
|
222 |
msgid "Any role"
|
223 |
msgstr "Perfiles del cliente"
|
224 |
|
225 |
+
#: includes/admin/wjecf-admin.php:318
|
226 |
msgid "Only these User Roles may use this coupon."
|
227 |
msgstr "Solo clientes con este perfil pueden usar este cupón."
|
228 |
|
229 |
+
#: includes/admin/wjecf-admin.php:325
|
230 |
msgid "Disallowed User Roles"
|
231 |
msgstr "Perfiles del cliente excluidos"
|
232 |
|
233 |
+
#: includes/admin/wjecf-admin.php:339
|
234 |
msgid "These User Roles will be specifically excluded from using this coupon."
|
235 |
msgstr "Clientes con este perfil no pueden usar este cupón."
|
236 |
|
237 |
+
#: includes/admin/wjecf-admin.php:350
|
238 |
msgid "Allow when minimum spend not reached"
|
239 |
msgstr ""
|
240 |
|
241 |
+
#: includes/admin/wjecf-admin.php:351 includes/wjecf-pro-free-products.php:481
|
242 |
+
#: includes/wjecf-pro-free-products.php:489
|
|
|
243 |
msgid "EXPERIMENTAL: "
|
244 |
msgstr "EXPERIMENTAL:"
|
245 |
|
246 |
+
#: includes/admin/wjecf-admin.php:351
|
247 |
msgid ""
|
248 |
"Check this box to allow the coupon to be in the cart even when minimum spend "
|
249 |
"(see tab 'usage restriction') is not reached. Value of the discount will be "
|
250 |
"0 until minimum spend is reached."
|
251 |
msgstr ""
|
252 |
|
253 |
+
#: includes/admin/wjecf-admin.php:398 includes/admin/wjecf-admin.php:423
|
254 |
+
msgid "Search for a product…"
|
255 |
+
msgstr "Buscar producto..."
|
256 |
+
|
257 |
#: includes/wjecf-autocoupon.php:58 includes/wjecf-autocoupon.php:130
|
258 |
#: includes/wjecf-autocoupon.php:137
|
259 |
msgid "Auto coupon"
|
309 |
msgid "Don't display a message when this coupon is automatically applied."
|
310 |
msgstr "No mostrar mensaje cuando el cupon esté aplicado automaticamente."
|
311 |
|
312 |
+
#: includes/wjecf-autocoupon.php:240
|
313 |
+
#, php-format
|
314 |
+
msgid "Coupon '%s' will be applied when it's conditions are met."
|
315 |
+
msgstr ""
|
316 |
+
"Cupón '%s' se aplicará automaticamente cuando cumpla con los requisitos."
|
317 |
+
|
318 |
+
#: includes/wjecf-autocoupon.php:306
|
319 |
msgid "Free shipping coupon"
|
320 |
msgstr "Cupón para envío gratis"
|
321 |
|
322 |
+
#: includes/wjecf-autocoupon.php:381 includes/wjecf-autocoupon.php:415
|
323 |
#, php-format
|
324 |
msgid "Discount applied: %s"
|
325 |
msgstr "Descuento aplicado: %s"
|
326 |
|
327 |
+
#: includes/wjecf-controller.php:169
|
328 |
#, php-format
|
329 |
msgid "The minimum subtotal of the matching products for this coupon is %s."
|
330 |
msgstr "El subtotal mínimo de los productos conformes para este cupón es %s."
|
331 |
|
332 |
+
#: includes/wjecf-controller.php:173
|
333 |
#, php-format
|
334 |
msgid "The maximum subtotal of the matching products for this coupon is %s."
|
335 |
msgstr "El subtotal máximo de los productos conformes para este cupón es %s."
|
336 |
|
337 |
+
#: includes/wjecf-controller.php:177
|
338 |
#, php-format
|
339 |
msgid "The minimum quantity of matching products for this coupon is %s."
|
340 |
msgstr "La cantidad mínima de productos conformes para este cupón es %s."
|
341 |
|
342 |
+
#: includes/wjecf-controller.php:181
|
343 |
#, php-format
|
344 |
msgid "The maximum quantity of matching products for this coupon is %s."
|
345 |
msgstr "La cantidad máxima de productos conformes para este cupón es %s."
|
346 |
|
347 |
+
#: includes/wjecf-controller.php:184
|
348 |
msgid "The coupon is not valid for the currently selected shipping method."
|
349 |
msgstr "El cupón no es válido para este método de envío."
|
350 |
|
351 |
+
#: includes/wjecf-controller.php:187
|
352 |
msgid "The coupon is not valid for the currently selected payment method."
|
353 |
msgstr "El cupón no es válido para este método de pago."
|
354 |
|
355 |
+
#: includes/wjecf-controller.php:190
|
356 |
#, php-format
|
357 |
msgid "Sorry, it seems the coupon \"%s\" is not yours."
|
358 |
msgstr "Lo sentimos, parece que el cupón \"%s\" no es tuyo."
|
359 |
|
360 |
+
#: includes/wjecf-pro-controller.php:59
|
361 |
+
msgid "Discount on cart with excluded products"
|
362 |
+
msgstr ""
|
363 |
+
|
364 |
+
#: includes/wjecf-pro-controller.php:65
|
365 |
+
msgid "Allow discount on cart with excluded items"
|
366 |
+
msgstr ""
|
367 |
+
|
368 |
+
#: includes/wjecf-pro-controller.php:66
|
369 |
+
msgid ""
|
370 |
+
"Check this box to allow a 'Cart Discount' coupon to be applied even when "
|
371 |
+
"excluded items are in the cart (see tab 'usage restriction')."
|
372 |
+
msgstr ""
|
373 |
+
|
374 |
+
#: includes/wjecf-pro-controller.php:77 includes/wjecf-pro-controller.php:83
|
375 |
msgid "Limit discount to"
|
376 |
msgstr "Limitar descuento a"
|
377 |
|
378 |
+
#: includes/wjecf-pro-controller.php:78
|
379 |
+
msgid ""
|
380 |
+
"Here you can exclude certain products from being discounted (Only applies to "
|
381 |
+
"Cart % Discount, Product Discount, Product % Discount)"
|
382 |
+
msgstr ""
|
383 |
+
|
384 |
+
#: includes/wjecf-pro-controller.php:85
|
385 |
+
msgid "(default)"
|
386 |
+
msgstr ""
|
387 |
+
|
388 |
+
#: includes/wjecf-pro-controller.php:86
|
389 |
+
msgid "One item per order line"
|
390 |
+
msgstr ""
|
391 |
+
|
392 |
+
#: includes/wjecf-pro-controller.php:87
|
393 |
+
msgid "Lowest priced product (single item)"
|
394 |
+
msgstr ""
|
395 |
+
|
396 |
+
#: includes/wjecf-pro-controller.php:88
|
397 |
+
msgid "Lowest priced order line (all items)"
|
398 |
+
msgstr ""
|
399 |
+
|
400 |
+
#: includes/wjecf-pro-controller.php:90
|
401 |
msgid ""
|
402 |
"Please note that when the discount type is 'Product discount' (see 'General'-"
|
403 |
"tab), the discount will only be applied to <em>matching</em> products."
|
404 |
msgstr ""
|
405 |
|
406 |
+
#: includes/wjecf-pro-evalmath.php:735
|
407 |
+
msgid "an unexpected error occured"
|
408 |
msgstr ""
|
409 |
|
410 |
+
#: includes/wjecf-pro-evalmath.php:736
|
411 |
+
msgid "cannot assign to constant '{$a}'"
|
412 |
+
msgstr ""
|
413 |
+
|
414 |
+
#: includes/wjecf-pro-evalmath.php:737
|
415 |
+
msgid "cannot assign to readonly '{$a}'"
|
416 |
+
msgstr ""
|
417 |
+
|
418 |
+
#: includes/wjecf-pro-evalmath.php:738
|
419 |
+
msgid "cannot redefine built-in function '{$a}()'"
|
420 |
+
msgstr ""
|
421 |
+
|
422 |
+
#: includes/wjecf-pro-evalmath.php:739
|
423 |
+
msgid "division by zero"
|
424 |
+
msgstr ""
|
425 |
+
|
426 |
+
#: includes/wjecf-pro-evalmath.php:740
|
427 |
+
msgid "expecting a closing bracket"
|
428 |
+
msgstr ""
|
429 |
+
|
430 |
+
#: includes/wjecf-pro-evalmath.php:741
|
431 |
+
msgid "illegal character '{$a}'"
|
432 |
+
msgstr ""
|
433 |
+
|
434 |
+
#: includes/wjecf-pro-evalmath.php:742
|
435 |
+
msgid "illegal character '_'"
|
436 |
+
msgstr ""
|
437 |
+
|
438 |
+
#: includes/wjecf-pro-evalmath.php:743
|
439 |
+
msgid "expecting operator, implicit multiplication not allowed."
|
440 |
+
msgstr ""
|
441 |
+
|
442 |
+
#: includes/wjecf-pro-evalmath.php:744
|
443 |
+
msgid "internal error"
|
444 |
+
msgstr ""
|
445 |
+
|
446 |
+
#: includes/wjecf-pro-evalmath.php:745
|
447 |
+
msgid "operator '{$a}' lacks operand"
|
448 |
+
msgstr ""
|
449 |
+
|
450 |
+
#: includes/wjecf-pro-evalmath.php:746
|
451 |
+
msgid "undefined variable '{$a}'"
|
452 |
+
msgstr ""
|
453 |
+
|
454 |
+
#: includes/wjecf-pro-evalmath.php:747
|
455 |
+
msgid "undefined variable '{$a}' in function definition"
|
456 |
+
msgstr ""
|
457 |
+
|
458 |
+
#: includes/wjecf-pro-evalmath.php:748
|
459 |
+
msgid "unexpected closing bracket"
|
460 |
+
msgstr ""
|
461 |
+
|
462 |
+
#: includes/wjecf-pro-evalmath.php:749
|
463 |
+
msgid "unexpected comma"
|
464 |
msgstr ""
|
465 |
|
466 |
+
#: includes/wjecf-pro-evalmath.php:750
|
467 |
+
msgid "unexpected operator '{$a}'"
|
468 |
+
msgstr ""
|
469 |
+
|
470 |
+
#: includes/wjecf-pro-evalmath.php:751
|
471 |
msgid ""
|
472 |
+
"wrong number of arguments for function '{$a->function}()' ({$a->given} "
|
473 |
+
"given, {$a->expected} expected)"
|
474 |
msgstr ""
|
475 |
|
476 |
#: includes/wjecf-pro-free-products.php:80
|
477 |
msgid "Please select your free gift."
|
478 |
msgstr "Elije tu regalo."
|
479 |
|
480 |
+
#: includes/wjecf-pro-free-products.php:344
|
481 |
+
#: includes/wjecf-pro-free-products.php:354
|
482 |
msgid "Free!"
|
483 |
msgstr "Gratis!"
|
484 |
|
485 |
+
#: includes/wjecf-pro-free-products.php:419
|
486 |
+
#: includes/wjecf-pro-free-products.php:442
|
487 |
+
#: includes/wjecf-pro-free-products.php:448
|
488 |
msgid "Free products"
|
489 |
msgstr "Productos gratis"
|
490 |
|
491 |
+
#: includes/wjecf-pro-free-products.php:453
|
492 |
msgid ""
|
493 |
"Free products that will be added to the cart when this coupon is applied."
|
494 |
+
msgstr "Productos gratuitos que serán aumentado al carrito."
|
495 |
|
496 |
+
#: includes/wjecf-pro-free-products.php:460
|
497 |
msgid "Select one"
|
498 |
msgstr "Elejir uno"
|
499 |
|
500 |
+
#: includes/wjecf-pro-free-products.php:461
|
501 |
msgid "Check this box if the customer must choose from the free products."
|
502 |
msgstr ""
|
503 |
+
"Marque esta casilla si el cliente tiene que escojer uno de los productos "
|
504 |
+
"gratuitos."
|
505 |
|
506 |
+
#: includes/wjecf-pro-free-products.php:469
|
507 |
msgid "'Select your gift'-message"
|
508 |
msgstr "Mensaje 'Elije tu regalo'"
|
509 |
|
510 |
+
#: includes/wjecf-pro-free-products.php:470
|
511 |
msgid "Please choose your free gift:"
|
512 |
msgstr "Elije tu regalo:"
|
513 |
|
514 |
+
#: includes/wjecf-pro-free-products.php:471
|
515 |
msgid "This message is displayed when the customer must choose a free product."
|
516 |
msgstr ""
|
517 |
|
518 |
+
#: includes/wjecf-pro-free-products.php:480
|
519 |
msgid "Allow multiplication of the free products"
|
520 |
+
msgstr "Multiplicar los productos gratuitos"
|
521 |
|
522 |
+
#: includes/wjecf-pro-free-products.php:481
|
523 |
msgid ""
|
524 |
"The amount of free products is multiplied every time the minimum spend, "
|
525 |
"subtotal or quantity is reached."
|
526 |
msgstr ""
|
527 |
|
528 |
+
#: includes/wjecf-pro-free-products.php:488
|
529 |
msgid "BOGO matching products"
|
530 |
msgstr "1+1 gratis para los productos conformes"
|
531 |
|
532 |
+
#: includes/wjecf-pro-free-products.php:490
|
533 |
msgid ""
|
534 |
"Buy one or more of any of the matching products (see 'Usage Restriction'-"
|
535 |
"tab) and get one free. Check 'Allow multiplication' to get one free item for "
|
536 |
"every matching item in the cart."
|
537 |
msgstr ""
|
538 |
+
"Cuando el cliente compra uno o más de los productos conformes, recibirá uno "
|
539 |
+
"gratis. Marque la casilla 'multiplicar los productos gratuitos' para "
|
540 |
+
"multiplicar con la cantidad de productos conformes en el carritos de compras."
|
541 |
|
542 |
+
#: woocommerce-jos-autocoupon-pro.php:34
|
|
|
|
|
|
|
|
|
543 |
msgid ""
|
544 |
"WooCommerce Extended Coupon Features is disabled because WooCommerce could "
|
545 |
"not be detected."
|
languages/woocommerce-jos-autocoupon-nl_NL.mo
CHANGED
Binary file
|
languages/woocommerce-jos-autocoupon-nl_NL.po
CHANGED
@@ -5,8 +5,8 @@ msgstr ""
|
|
5 |
"Project-Id-Version: WooCommerce auto added coupons 1.1.3.1\n"
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/woocommerce-auto-"
|
7 |
"added-coupons\n"
|
8 |
-
"POT-Creation-Date: 2016-
|
9 |
-
"PO-Revision-Date: 2016-
|
10 |
"Last-Translator: \n"
|
11 |
"Language-Team: \n"
|
12 |
"Language: nl_NL\n"
|
@@ -18,47 +18,75 @@ msgstr ""
|
|
18 |
"X-Poedit-Basepath: ..\n"
|
19 |
"X-Poedit-SearchPath-0: .\n"
|
20 |
|
21 |
-
#: includes/admin/wjecf-admin.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
msgid "Do you find WooCommerce Extended Coupon Features useful?"
|
23 |
msgstr "Vindt u WooCommerce Extended Coupon Features handig?"
|
24 |
|
25 |
-
#: includes/admin/wjecf-admin.php:
|
26 |
msgid "Express your gratitude"
|
27 |
msgstr "Toon uw waardering"
|
28 |
|
29 |
-
#: includes/admin/wjecf-admin.php:
|
30 |
msgid "Donate to the developer"
|
31 |
msgstr "Doneer aan de ontwikkelaar"
|
32 |
|
33 |
-
#: includes/admin/wjecf-admin.php:
|
34 |
msgid "Documentation"
|
35 |
msgstr "Documentatie"
|
36 |
|
37 |
-
#: includes/admin/wjecf-admin.php:
|
38 |
msgid "WooCommerce Extended Coupon Features Documentation"
|
39 |
msgstr "WooCommerce Extended Coupon Features Documentatie"
|
40 |
|
41 |
-
#: includes/admin/wjecf-admin.php:
|
42 |
-
msgid "Products"
|
43 |
-
msgstr "Producten"
|
44 |
-
|
45 |
-
#: includes/admin/wjecf-admin.php:123 includes/admin/wjecf-admin.php:230
|
46 |
-
msgid "Checkout"
|
47 |
-
msgstr "Afrekenen"
|
48 |
-
|
49 |
-
#: includes/admin/wjecf-admin.php:129 includes/admin/wjecf-admin.php:340
|
50 |
-
msgid "Miscellaneous"
|
51 |
-
msgstr "Diversen"
|
52 |
-
|
53 |
-
#: includes/admin/wjecf-admin.php:141
|
54 |
msgid "Matching products"
|
55 |
msgstr "Overeenkomende producten"
|
56 |
|
57 |
-
#: includes/admin/wjecf-admin.php:
|
58 |
msgid "AND Products (not OR)"
|
59 |
msgstr "ALLE Producten (niet OF)"
|
60 |
|
61 |
-
#: includes/admin/wjecf-admin.php:
|
62 |
msgid ""
|
63 |
"Check this box if ALL of the products (see tab 'usage restriction') must be "
|
64 |
"in the cart to use this coupon (instead of only one of the products)."
|
@@ -67,11 +95,11 @@ msgstr ""
|
|
67 |
"winkelwagen moeten zitten om deze kortingsbon te kunnen gebruiken (in plaats "
|
68 |
"van één van de producten)."
|
69 |
|
70 |
-
#: includes/admin/wjecf-admin.php:
|
71 |
msgid "AND Categories (not OR)"
|
72 |
msgstr "ALLE Categorieën (niet OF)"
|
73 |
|
74 |
-
#: includes/admin/wjecf-admin.php:
|
75 |
msgid ""
|
76 |
"Check this box if products from ALL of the categories (see tab 'usage "
|
77 |
"restriction') must be in the cart to use this coupon (instead of only one "
|
@@ -81,23 +109,23 @@ msgstr ""
|
|
81 |
"in de winkelwagen moeten zitten om deze kortingsbon te kunnen gebruiken (in "
|
82 |
"plaats van een product van één van de categorieën)."
|
83 |
|
84 |
-
#: includes/admin/wjecf-admin.php:
|
85 |
msgid "(AND)"
|
86 |
msgstr "(ALLE)"
|
87 |
|
88 |
-
#: includes/admin/wjecf-admin.php:
|
89 |
msgid "(OR)"
|
90 |
msgstr "(OF)"
|
91 |
|
92 |
-
#: includes/admin/wjecf-admin.php:
|
93 |
msgid "Minimum quantity of matching products"
|
94 |
msgstr "Minimum aantal overeengekomen producten"
|
95 |
|
96 |
-
#: includes/admin/wjecf-admin.php:
|
97 |
msgid "No minimum"
|
98 |
msgstr "Geen minimum"
|
99 |
|
100 |
-
#: includes/admin/wjecf-admin.php:
|
101 |
msgid ""
|
102 |
"Minimum quantity of the products that match the given product or category "
|
103 |
"restrictions (see tab 'usage restriction'). If no product or category "
|
@@ -107,15 +135,15 @@ msgstr ""
|
|
107 |
"(zie tab 'gebruiksbeperkingen'). Als geen product- of categorierestrictie is "
|
108 |
"opgegeven worden alle producten in de winkelwagen geteld."
|
109 |
|
110 |
-
#: includes/admin/wjecf-admin.php:
|
111 |
msgid "Maximum quantity of matching products"
|
112 |
msgstr "Maximum aantal overeengekomen producten"
|
113 |
|
114 |
-
#: includes/admin/wjecf-admin.php:
|
115 |
msgid "No maximum"
|
116 |
msgstr "Geen maximum"
|
117 |
|
118 |
-
#: includes/admin/wjecf-admin.php:
|
119 |
msgid ""
|
120 |
"Maximum quantity of the products that match the given product or category "
|
121 |
"restrictions (see tab 'usage restriction'). If no product or category "
|
@@ -125,11 +153,11 @@ msgstr ""
|
|
125 |
"(zie tab 'gebruiksbeperkingen'). Als geen product- of categorierestrictie is "
|
126 |
"opgegeven worden alle producten in de winkelwagen geteld."
|
127 |
|
128 |
-
#: includes/admin/wjecf-admin.php:
|
129 |
msgid "Minimum subtotal of matching products"
|
130 |
msgstr "Minimum subtotaal overeengekomen producten"
|
131 |
|
132 |
-
#: includes/admin/wjecf-admin.php:
|
133 |
msgid ""
|
134 |
"Minimum price subtotal of the products that match the given product or "
|
135 |
"category restrictions (see tab 'usage restriction')."
|
@@ -139,11 +167,11 @@ msgstr ""
|
|
139 |
"product- of categorierestrictie is opgegeven wordt het subtotaal van alle "
|
140 |
"producten in de winkelwagen opgeteld."
|
141 |
|
142 |
-
#: includes/admin/wjecf-admin.php:
|
143 |
msgid "Maximum subtotal of matching products"
|
144 |
msgstr "Maximum subtotaal overeengekomen producten"
|
145 |
|
146 |
-
#: includes/admin/wjecf-admin.php:
|
147 |
msgid ""
|
148 |
"Maximum price subtotal of the products that match the given product or "
|
149 |
"category restrictions (see tab 'usage restriction')."
|
@@ -153,15 +181,15 @@ msgstr ""
|
|
153 |
"product- of categorierestrictie is opgegeven wordt het subtotaal van alle "
|
154 |
"producten in de winkelwagen opgeteld."
|
155 |
|
156 |
-
#: includes/admin/wjecf-admin.php:
|
157 |
msgid "Shipping methods"
|
158 |
msgstr "Verzendmethoden"
|
159 |
|
160 |
-
#: includes/admin/wjecf-admin.php:
|
161 |
msgid "Any shipping method"
|
162 |
msgstr "Verzendmethoden"
|
163 |
|
164 |
-
#: includes/admin/wjecf-admin.php:
|
165 |
msgid ""
|
166 |
"One of these shipping methods must be selected in order for this coupon to "
|
167 |
"be valid."
|
@@ -169,15 +197,15 @@ msgstr ""
|
|
169 |
"Een van deze verzendmethoden moet gekozen zijn om deze kortingsbon te kunnen "
|
170 |
"gebruiken."
|
171 |
|
172 |
-
#: includes/admin/wjecf-admin.php:
|
173 |
msgid "Payment methods"
|
174 |
msgstr "Betaalmethoden"
|
175 |
|
176 |
-
#: includes/admin/wjecf-admin.php:
|
177 |
msgid "Any payment method"
|
178 |
msgstr "Betaalmethoden"
|
179 |
|
180 |
-
#: includes/admin/wjecf-admin.php:
|
181 |
msgid ""
|
182 |
"One of these payment methods must be selected in order for this coupon to be "
|
183 |
"valid."
|
@@ -185,11 +213,11 @@ msgstr ""
|
|
185 |
"Een van deze betaalmethoden moet gekozen zijn om deze kortingsbon te kunnen "
|
186 |
"gebruiken."
|
187 |
|
188 |
-
#: includes/admin/wjecf-admin.php:
|
189 |
msgid "Customer restrictions"
|
190 |
msgstr "Klantbeperkingen"
|
191 |
|
192 |
-
#: includes/admin/wjecf-admin.php:
|
193 |
msgid ""
|
194 |
"If both a customer and a role restriction are supplied, matching either one "
|
195 |
"of them will suffice."
|
@@ -197,49 +225,48 @@ msgstr ""
|
|
197 |
"Als zowel een klant- als klantrolrestrictie is opgegeven hoeft slechts aan "
|
198 |
"één van de restricties worden voldaan."
|
199 |
|
200 |
-
#: includes/admin/wjecf-admin.php:
|
201 |
msgid "Allowed Customers"
|
202 |
msgstr "Toegestane klanten"
|
203 |
|
204 |
-
#: includes/admin/wjecf-admin.php:
|
205 |
msgid "Any customer"
|
206 |
msgstr "Klanten"
|
207 |
|
208 |
-
#: includes/admin/wjecf-admin.php:
|
209 |
msgid "Only these customers may use this coupon."
|
210 |
msgstr "Alleen deze klanten kunnen deze kortingsbon gebruiken."
|
211 |
|
212 |
-
#: includes/admin/wjecf-admin.php:
|
213 |
msgid "Allowed User Roles"
|
214 |
msgstr "Toegestane klantrollen"
|
215 |
|
216 |
-
#: includes/admin/wjecf-admin.php:
|
217 |
msgid "Any role"
|
218 |
msgstr "Klantrollen"
|
219 |
|
220 |
-
#: includes/admin/wjecf-admin.php:
|
221 |
msgid "Only these User Roles may use this coupon."
|
222 |
msgstr "Alleen deze klantrollen kunnen deze kortingsbon gebruiken."
|
223 |
|
224 |
-
#: includes/admin/wjecf-admin.php:
|
225 |
msgid "Disallowed User Roles"
|
226 |
msgstr "Uitgesloten klantrollen"
|
227 |
|
228 |
-
#: includes/admin/wjecf-admin.php:
|
229 |
msgid "These User Roles will be specifically excluded from using this coupon."
|
230 |
msgstr "Deze klantrollen zijn uitgesloten om deze kortingsbon te gebruiken."
|
231 |
|
232 |
-
#: includes/admin/wjecf-admin.php:
|
233 |
msgid "Allow when minimum spend not reached"
|
234 |
msgstr "Toestaan wanneer minimale besteding nog niet is behaald."
|
235 |
|
236 |
-
#: includes/admin/wjecf-admin.php:
|
237 |
-
#: includes/wjecf-pro-free-products.php:
|
238 |
-
#: includes/wjecf-pro-free-products.php:482
|
239 |
msgid "EXPERIMENTAL: "
|
240 |
msgstr "EXPERIMENTEEL:"
|
241 |
|
242 |
-
#: includes/admin/wjecf-admin.php:
|
243 |
msgid ""
|
244 |
"Check this box to allow the coupon to be in the cart even when minimum spend "
|
245 |
"(see tab 'usage restriction') is not reached. Value of the discount will be "
|
@@ -249,6 +276,10 @@ msgstr ""
|
|
249 |
"besteding nog niet is gehaald. De coupon zal een waarde van 0 hebben tot de "
|
250 |
"minimale besteding is bereikt."
|
251 |
|
|
|
|
|
|
|
|
|
252 |
#: includes/wjecf-autocoupon.php:58 includes/wjecf-autocoupon.php:130
|
253 |
#: includes/wjecf-autocoupon.php:137
|
254 |
msgid "Auto coupon"
|
@@ -306,59 +337,107 @@ msgid "Don't display a message when this coupon is automatically applied."
|
|
306 |
msgstr ""
|
307 |
"Geen melding weergeven wanneer deze kortingsbon automatisch wordt toegepast."
|
308 |
|
309 |
-
#: includes/wjecf-autocoupon.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
310 |
msgid "Free shipping coupon"
|
311 |
msgstr "Gratis verzending kortingsbon"
|
312 |
|
313 |
-
#: includes/wjecf-autocoupon.php:
|
314 |
#, php-format
|
315 |
msgid "Discount applied: %s"
|
316 |
msgstr "Korting toegepast: %s"
|
317 |
|
318 |
-
#: includes/wjecf-controller.php:
|
319 |
#, php-format
|
320 |
msgid "The minimum subtotal of the matching products for this coupon is %s."
|
321 |
msgstr ""
|
322 |
"Het minimale subtotaal van overeengekomen producten voor deze kortingsbon is "
|
323 |
"%s."
|
324 |
|
325 |
-
#: includes/wjecf-controller.php:
|
326 |
#, php-format
|
327 |
msgid "The maximum subtotal of the matching products for this coupon is %s."
|
328 |
msgstr ""
|
329 |
"Het maximale subtotaal van overeengekomen producten voor deze kortingsbon is "
|
330 |
"%s."
|
331 |
|
332 |
-
#: includes/wjecf-controller.php:
|
333 |
#, php-format
|
334 |
msgid "The minimum quantity of matching products for this coupon is %s."
|
335 |
msgstr ""
|
336 |
"Het minimale aantal overeengekomen producten voor deze kortingsbon is %s."
|
337 |
|
338 |
-
#: includes/wjecf-controller.php:
|
339 |
#, php-format
|
340 |
msgid "The maximum quantity of matching products for this coupon is %s."
|
341 |
msgstr ""
|
342 |
"Het maximale aantal overeengekomen producten voor deze kortingsbon is %s."
|
343 |
|
344 |
-
#: includes/wjecf-controller.php:
|
345 |
msgid "The coupon is not valid for the currently selected shipping method."
|
346 |
msgstr "De kortingsbon is niet geldig voor de gekozen verzendmethode."
|
347 |
|
348 |
-
#: includes/wjecf-controller.php:
|
349 |
msgid "The coupon is not valid for the currently selected payment method."
|
350 |
msgstr "De kortingsbon is niet geldig voor de gekozen betaalmethode."
|
351 |
|
352 |
-
#: includes/wjecf-controller.php:
|
353 |
#, php-format
|
354 |
msgid "Sorry, it seems the coupon \"%s\" is not yours."
|
355 |
msgstr "Sorry, het lijkt erop dat kortingsbon \"%s\" niet van u is."
|
356 |
|
357 |
-
#: includes/wjecf-pro-controller.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
358 |
msgid "Limit discount to"
|
359 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
360 |
|
361 |
-
#: includes/wjecf-pro-controller.php:
|
|
|
|
|
|
|
|
|
362 |
msgid ""
|
363 |
"Please note that when the discount type is 'Product discount' (see 'General'-"
|
364 |
"tab), the discount will only be applied to <em>matching</em> products."
|
@@ -367,71 +446,124 @@ msgstr ""
|
|
367 |
"is gekozen, de korting alleen zal worden toegepast op overeengekomen "
|
368 |
"producten."
|
369 |
|
370 |
-
#: includes/wjecf-pro-
|
371 |
-
msgid "
|
372 |
-
msgstr "
|
373 |
|
374 |
-
#: includes/wjecf-pro-
|
375 |
-
msgid "
|
376 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
377 |
|
378 |
-
#: includes/wjecf-pro-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
379 |
msgid ""
|
380 |
-
"
|
381 |
-
"
|
382 |
msgstr ""
|
383 |
-
"Aanvinken om een 'Winkelwagen korting'-coupon ook te accepteren als er "
|
384 |
-
"uitgesloten producten in de winkelwagen aanwezig zijn (zie tab "
|
385 |
-
"'gebruiksbeperking')."
|
386 |
|
387 |
#: includes/wjecf-pro-free-products.php:80
|
388 |
msgid "Please select your free gift."
|
389 |
msgstr "Kies een gratis artikel."
|
390 |
|
391 |
-
#: includes/wjecf-pro-free-products.php:
|
392 |
-
#: includes/wjecf-pro-free-products.php:
|
393 |
msgid "Free!"
|
394 |
msgstr "Gratis!"
|
395 |
|
396 |
-
#: includes/wjecf-pro-free-products.php:
|
397 |
-
#: includes/wjecf-pro-free-products.php:
|
398 |
-
#: includes/wjecf-pro-free-products.php:
|
399 |
msgid "Free products"
|
400 |
msgstr "Gratis producten"
|
401 |
|
402 |
-
#: includes/wjecf-pro-free-products.php:
|
403 |
msgid ""
|
404 |
"Free products that will be added to the cart when this coupon is applied."
|
405 |
msgstr ""
|
406 |
"Gratis producten welke aan de winkelwagen worden toegevoegd als de coupon is "
|
407 |
"toegepast."
|
408 |
|
409 |
-
#: includes/wjecf-pro-free-products.php:
|
410 |
msgid "Select one"
|
411 |
msgstr "Kies één"
|
412 |
|
413 |
-
#: includes/wjecf-pro-free-products.php:
|
414 |
msgid "Check this box if the customer must choose from the free products."
|
415 |
msgstr "Aanvinken als de klant één van de gratis producten moet kiezen."
|
416 |
|
417 |
-
#: includes/wjecf-pro-free-products.php:
|
418 |
msgid "'Select your gift'-message"
|
419 |
msgstr "'Kies uw gratis product'-boodschap"
|
420 |
|
421 |
-
#: includes/wjecf-pro-free-products.php:
|
422 |
msgid "Please choose your free gift:"
|
423 |
msgstr "Kies uw gratis product:"
|
424 |
|
425 |
-
#: includes/wjecf-pro-free-products.php:
|
426 |
msgid "This message is displayed when the customer must choose a free product."
|
427 |
msgstr ""
|
428 |
"Deze melding wordt getoond wanneer de klant een gratis product moet kiezen."
|
429 |
|
430 |
-
#: includes/wjecf-pro-free-products.php:
|
431 |
msgid "Allow multiplication of the free products"
|
432 |
msgstr "Vermenigvuldigen gratis producten toestaan"
|
433 |
|
434 |
-
#: includes/wjecf-pro-free-products.php:
|
435 |
msgid ""
|
436 |
"The amount of free products is multiplied every time the minimum spend, "
|
437 |
"subtotal or quantity is reached."
|
@@ -439,11 +571,11 @@ msgstr ""
|
|
439 |
"Het aantal van de gratis producten wordt vermenigvuldigd met het totale "
|
440 |
"aantal keer dat minimale besteding, subtotaal of aantal is bereikt."
|
441 |
|
442 |
-
#: includes/wjecf-pro-free-products.php:
|
443 |
msgid "BOGO matching products"
|
444 |
msgstr "1+1 gratis voor overeengekomen producten"
|
445 |
|
446 |
-
#: includes/wjecf-pro-free-products.php:
|
447 |
msgid ""
|
448 |
"Buy one or more of any of the matching products (see 'Usage Restriction'-"
|
449 |
"tab) and get one free. Check 'Allow multiplication' to get one free item for "
|
@@ -453,11 +585,7 @@ msgstr ""
|
|
453 |
"Gebruik 'vermenigvuldigen toestaan' om een gratis artikel voor elk "
|
454 |
"overeenkomend artikel te krijgen."
|
455 |
|
456 |
-
#:
|
457 |
-
msgid "Search for a product…"
|
458 |
-
msgstr "Zoek een product..."
|
459 |
-
|
460 |
-
#: woocommerce-jos-autocoupon-pro.php:33
|
461 |
msgid ""
|
462 |
"WooCommerce Extended Coupon Features is disabled because WooCommerce could "
|
463 |
"not be detected."
|
5 |
"Project-Id-Version: WooCommerce auto added coupons 1.1.3.1\n"
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/woocommerce-auto-"
|
7 |
"added-coupons\n"
|
8 |
+
"POT-Creation-Date: 2016-05-14 13:02+0200\n"
|
9 |
+
"PO-Revision-Date: 2016-05-14 13:07+0200\n"
|
10 |
"Last-Translator: \n"
|
11 |
"Language-Team: \n"
|
12 |
"Language: nl_NL\n"
|
18 |
"X-Poedit-Basepath: ..\n"
|
19 |
"X-Poedit-SearchPath-0: .\n"
|
20 |
|
21 |
+
#: includes/admin/wjecf-admin-auto-upgrade.php:36
|
22 |
+
msgid ""
|
23 |
+
"<strong>WooCommerce Extended Coupon Features:</strong> Please note, you're "
|
24 |
+
"using an older version of this plugin, while the data was upgraded to a "
|
25 |
+
"newer version."
|
26 |
+
msgstr ""
|
27 |
+
"<strong>WooCommerce Extended Coupon Features:</strong> Je gebruikt een "
|
28 |
+
"oudere versie van deze plugin, terwijl de data is opgewaardeerd naar een "
|
29 |
+
"nieuwere versie."
|
30 |
+
|
31 |
+
#: includes/admin/wjecf-admin-auto-upgrade.php:44
|
32 |
+
msgid ""
|
33 |
+
"<strong>WooCommerce Extended Coupon Features:</strong> Data succesfully "
|
34 |
+
"upgraded to the newest version."
|
35 |
+
msgstr ""
|
36 |
+
"<strong>WooCommerce Extended Coupon Features:</strong> Gegevens "
|
37 |
+
"opgewaardeerd naar de nieuwste versie."
|
38 |
+
|
39 |
+
#: includes/admin/wjecf-admin.php:19
|
40 |
+
msgid ""
|
41 |
+
"<strong>WooCommerce Extended Coupon Features:</strong> You are using a "
|
42 |
+
"WooCommerce version prior to 2.3.0. Updating of WooCommerce is recommended "
|
43 |
+
"as using an outdated version might cause unexpected behaviour in combination "
|
44 |
+
"with modern plugins."
|
45 |
+
msgstr ""
|
46 |
+
"<strong>WooCommerce Extended Coupon Features:</strong> Je gebruikt een "
|
47 |
+
"WooCommerce versie ouder dan 2.3.0. Updaten van WooCommerce wordt aangeraden."
|
48 |
+
|
49 |
+
#: includes/admin/wjecf-admin.php:68
|
50 |
+
msgid "Products"
|
51 |
+
msgstr "Producten"
|
52 |
+
|
53 |
+
#: includes/admin/wjecf-admin.php:74 includes/admin/wjecf-admin.php:235
|
54 |
+
msgid "Checkout"
|
55 |
+
msgstr "Afrekenen"
|
56 |
+
|
57 |
+
#: includes/admin/wjecf-admin.php:80 includes/admin/wjecf-admin.php:345
|
58 |
+
msgid "Miscellaneous"
|
59 |
+
msgstr "Diversen"
|
60 |
+
|
61 |
+
#: includes/admin/wjecf-admin.php:123
|
62 |
msgid "Do you find WooCommerce Extended Coupon Features useful?"
|
63 |
msgstr "Vindt u WooCommerce Extended Coupon Features handig?"
|
64 |
|
65 |
+
#: includes/admin/wjecf-admin.php:125
|
66 |
msgid "Express your gratitude"
|
67 |
msgstr "Toon uw waardering"
|
68 |
|
69 |
+
#: includes/admin/wjecf-admin.php:129
|
70 |
msgid "Donate to the developer"
|
71 |
msgstr "Doneer aan de ontwikkelaar"
|
72 |
|
73 |
+
#: includes/admin/wjecf-admin.php:136
|
74 |
msgid "Documentation"
|
75 |
msgstr "Documentatie"
|
76 |
|
77 |
+
#: includes/admin/wjecf-admin.php:138
|
78 |
msgid "WooCommerce Extended Coupon Features Documentation"
|
79 |
msgstr "WooCommerce Extended Coupon Features Documentatie"
|
80 |
|
81 |
+
#: includes/admin/wjecf-admin.php:146
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
82 |
msgid "Matching products"
|
83 |
msgstr "Overeenkomende producten"
|
84 |
|
85 |
+
#: includes/admin/wjecf-admin.php:151
|
86 |
msgid "AND Products (not OR)"
|
87 |
msgstr "ALLE Producten (niet OF)"
|
88 |
|
89 |
+
#: includes/admin/wjecf-admin.php:152
|
90 |
msgid ""
|
91 |
"Check this box if ALL of the products (see tab 'usage restriction') must be "
|
92 |
"in the cart to use this coupon (instead of only one of the products)."
|
95 |
"winkelwagen moeten zitten om deze kortingsbon te kunnen gebruiken (in plaats "
|
96 |
"van één van de producten)."
|
97 |
|
98 |
+
#: includes/admin/wjecf-admin.php:159
|
99 |
msgid "AND Categories (not OR)"
|
100 |
msgstr "ALLE Categorieën (niet OF)"
|
101 |
|
102 |
+
#: includes/admin/wjecf-admin.php:160
|
103 |
msgid ""
|
104 |
"Check this box if products from ALL of the categories (see tab 'usage "
|
105 |
"restriction') must be in the cart to use this coupon (instead of only one "
|
109 |
"in de winkelwagen moeten zitten om deze kortingsbon te kunnen gebruiken (in "
|
110 |
"plaats van een product van één van de categorieën)."
|
111 |
|
112 |
+
#: includes/admin/wjecf-admin.php:165
|
113 |
msgid "(AND)"
|
114 |
msgstr "(ALLE)"
|
115 |
|
116 |
+
#: includes/admin/wjecf-admin.php:166
|
117 |
msgid "(OR)"
|
118 |
msgstr "(OF)"
|
119 |
|
120 |
+
#: includes/admin/wjecf-admin.php:195
|
121 |
msgid "Minimum quantity of matching products"
|
122 |
msgstr "Minimum aantal overeengekomen producten"
|
123 |
|
124 |
+
#: includes/admin/wjecf-admin.php:196 includes/admin/wjecf-admin.php:216
|
125 |
msgid "No minimum"
|
126 |
msgstr "Geen minimum"
|
127 |
|
128 |
+
#: includes/admin/wjecf-admin.php:197
|
129 |
msgid ""
|
130 |
"Minimum quantity of the products that match the given product or category "
|
131 |
"restrictions (see tab 'usage restriction'). If no product or category "
|
135 |
"(zie tab 'gebruiksbeperkingen'). Als geen product- of categorierestrictie is "
|
136 |
"opgegeven worden alle producten in de winkelwagen geteld."
|
137 |
|
138 |
+
#: includes/admin/wjecf-admin.php:205
|
139 |
msgid "Maximum quantity of matching products"
|
140 |
msgstr "Maximum aantal overeengekomen producten"
|
141 |
|
142 |
+
#: includes/admin/wjecf-admin.php:206 includes/admin/wjecf-admin.php:226
|
143 |
msgid "No maximum"
|
144 |
msgstr "Geen maximum"
|
145 |
|
146 |
+
#: includes/admin/wjecf-admin.php:207
|
147 |
msgid ""
|
148 |
"Maximum quantity of the products that match the given product or category "
|
149 |
"restrictions (see tab 'usage restriction'). If no product or category "
|
153 |
"(zie tab 'gebruiksbeperkingen'). Als geen product- of categorierestrictie is "
|
154 |
"opgegeven worden alle producten in de winkelwagen geteld."
|
155 |
|
156 |
+
#: includes/admin/wjecf-admin.php:215
|
157 |
msgid "Minimum subtotal of matching products"
|
158 |
msgstr "Minimum subtotaal overeengekomen producten"
|
159 |
|
160 |
+
#: includes/admin/wjecf-admin.php:217
|
161 |
msgid ""
|
162 |
"Minimum price subtotal of the products that match the given product or "
|
163 |
"category restrictions (see tab 'usage restriction')."
|
167 |
"product- of categorierestrictie is opgegeven wordt het subtotaal van alle "
|
168 |
"producten in de winkelwagen opgeteld."
|
169 |
|
170 |
+
#: includes/admin/wjecf-admin.php:225
|
171 |
msgid "Maximum subtotal of matching products"
|
172 |
msgstr "Maximum subtotaal overeengekomen producten"
|
173 |
|
174 |
+
#: includes/admin/wjecf-admin.php:227
|
175 |
msgid ""
|
176 |
"Maximum price subtotal of the products that match the given product or "
|
177 |
"category restrictions (see tab 'usage restriction')."
|
181 |
"product- of categorierestrictie is opgegeven wordt het subtotaal van alle "
|
182 |
"producten in de winkelwagen opgeteld."
|
183 |
|
184 |
+
#: includes/admin/wjecf-admin.php:240
|
185 |
msgid "Shipping methods"
|
186 |
msgstr "Verzendmethoden"
|
187 |
|
188 |
+
#: includes/admin/wjecf-admin.php:241
|
189 |
msgid "Any shipping method"
|
190 |
msgstr "Verzendmethoden"
|
191 |
|
192 |
+
#: includes/admin/wjecf-admin.php:250
|
193 |
msgid ""
|
194 |
"One of these shipping methods must be selected in order for this coupon to "
|
195 |
"be valid."
|
197 |
"Een van deze verzendmethoden moet gekozen zijn om deze kortingsbon te kunnen "
|
198 |
"gebruiken."
|
199 |
|
200 |
+
#: includes/admin/wjecf-admin.php:256
|
201 |
msgid "Payment methods"
|
202 |
msgstr "Betaalmethoden"
|
203 |
|
204 |
+
#: includes/admin/wjecf-admin.php:257
|
205 |
msgid "Any payment method"
|
206 |
msgstr "Betaalmethoden"
|
207 |
|
208 |
+
#: includes/admin/wjecf-admin.php:268
|
209 |
msgid ""
|
210 |
"One of these payment methods must be selected in order for this coupon to be "
|
211 |
"valid."
|
213 |
"Een van deze betaalmethoden moet gekozen zijn om deze kortingsbon te kunnen "
|
214 |
"gebruiken."
|
215 |
|
216 |
+
#: includes/admin/wjecf-admin.php:276
|
217 |
msgid "Customer restrictions"
|
218 |
msgstr "Klantbeperkingen"
|
219 |
|
220 |
+
#: includes/admin/wjecf-admin.php:277
|
221 |
msgid ""
|
222 |
"If both a customer and a role restriction are supplied, matching either one "
|
223 |
"of them will suffice."
|
225 |
"Als zowel een klant- als klantrolrestrictie is opgegeven hoeft slechts aan "
|
226 |
"één van de restricties worden voldaan."
|
227 |
|
228 |
+
#: includes/admin/wjecf-admin.php:282
|
229 |
msgid "Allowed Customers"
|
230 |
msgstr "Toegestane klanten"
|
231 |
|
232 |
+
#: includes/admin/wjecf-admin.php:283
|
233 |
msgid "Any customer"
|
234 |
msgstr "Klanten"
|
235 |
|
236 |
+
#: includes/admin/wjecf-admin.php:296
|
237 |
msgid "Only these customers may use this coupon."
|
238 |
msgstr "Alleen deze klanten kunnen deze kortingsbon gebruiken."
|
239 |
|
240 |
+
#: includes/admin/wjecf-admin.php:303
|
241 |
msgid "Allowed User Roles"
|
242 |
msgstr "Toegestane klantrollen"
|
243 |
|
244 |
+
#: includes/admin/wjecf-admin.php:304 includes/admin/wjecf-admin.php:326
|
245 |
msgid "Any role"
|
246 |
msgstr "Klantrollen"
|
247 |
|
248 |
+
#: includes/admin/wjecf-admin.php:318
|
249 |
msgid "Only these User Roles may use this coupon."
|
250 |
msgstr "Alleen deze klantrollen kunnen deze kortingsbon gebruiken."
|
251 |
|
252 |
+
#: includes/admin/wjecf-admin.php:325
|
253 |
msgid "Disallowed User Roles"
|
254 |
msgstr "Uitgesloten klantrollen"
|
255 |
|
256 |
+
#: includes/admin/wjecf-admin.php:339
|
257 |
msgid "These User Roles will be specifically excluded from using this coupon."
|
258 |
msgstr "Deze klantrollen zijn uitgesloten om deze kortingsbon te gebruiken."
|
259 |
|
260 |
+
#: includes/admin/wjecf-admin.php:350
|
261 |
msgid "Allow when minimum spend not reached"
|
262 |
msgstr "Toestaan wanneer minimale besteding nog niet is behaald."
|
263 |
|
264 |
+
#: includes/admin/wjecf-admin.php:351 includes/wjecf-pro-free-products.php:481
|
265 |
+
#: includes/wjecf-pro-free-products.php:489
|
|
|
266 |
msgid "EXPERIMENTAL: "
|
267 |
msgstr "EXPERIMENTEEL:"
|
268 |
|
269 |
+
#: includes/admin/wjecf-admin.php:351
|
270 |
msgid ""
|
271 |
"Check this box to allow the coupon to be in the cart even when minimum spend "
|
272 |
"(see tab 'usage restriction') is not reached. Value of the discount will be "
|
276 |
"besteding nog niet is gehaald. De coupon zal een waarde van 0 hebben tot de "
|
277 |
"minimale besteding is bereikt."
|
278 |
|
279 |
+
#: includes/admin/wjecf-admin.php:398 includes/admin/wjecf-admin.php:423
|
280 |
+
msgid "Search for a product…"
|
281 |
+
msgstr "Zoek een product..."
|
282 |
+
|
283 |
#: includes/wjecf-autocoupon.php:58 includes/wjecf-autocoupon.php:130
|
284 |
#: includes/wjecf-autocoupon.php:137
|
285 |
msgid "Auto coupon"
|
337 |
msgstr ""
|
338 |
"Geen melding weergeven wanneer deze kortingsbon automatisch wordt toegepast."
|
339 |
|
340 |
+
#: includes/wjecf-autocoupon.php:240
|
341 |
+
#, php-format
|
342 |
+
msgid "Coupon '%s' will be applied when it's conditions are met."
|
343 |
+
msgstr ""
|
344 |
+
"Coupon '%s' zal automatisch worden toegepast wanneer aan de voorwaarden "
|
345 |
+
"wordt voldaan."
|
346 |
+
|
347 |
+
#: includes/wjecf-autocoupon.php:306
|
348 |
msgid "Free shipping coupon"
|
349 |
msgstr "Gratis verzending kortingsbon"
|
350 |
|
351 |
+
#: includes/wjecf-autocoupon.php:381 includes/wjecf-autocoupon.php:415
|
352 |
#, php-format
|
353 |
msgid "Discount applied: %s"
|
354 |
msgstr "Korting toegepast: %s"
|
355 |
|
356 |
+
#: includes/wjecf-controller.php:169
|
357 |
#, php-format
|
358 |
msgid "The minimum subtotal of the matching products for this coupon is %s."
|
359 |
msgstr ""
|
360 |
"Het minimale subtotaal van overeengekomen producten voor deze kortingsbon is "
|
361 |
"%s."
|
362 |
|
363 |
+
#: includes/wjecf-controller.php:173
|
364 |
#, php-format
|
365 |
msgid "The maximum subtotal of the matching products for this coupon is %s."
|
366 |
msgstr ""
|
367 |
"Het maximale subtotaal van overeengekomen producten voor deze kortingsbon is "
|
368 |
"%s."
|
369 |
|
370 |
+
#: includes/wjecf-controller.php:177
|
371 |
#, php-format
|
372 |
msgid "The minimum quantity of matching products for this coupon is %s."
|
373 |
msgstr ""
|
374 |
"Het minimale aantal overeengekomen producten voor deze kortingsbon is %s."
|
375 |
|
376 |
+
#: includes/wjecf-controller.php:181
|
377 |
#, php-format
|
378 |
msgid "The maximum quantity of matching products for this coupon is %s."
|
379 |
msgstr ""
|
380 |
"Het maximale aantal overeengekomen producten voor deze kortingsbon is %s."
|
381 |
|
382 |
+
#: includes/wjecf-controller.php:184
|
383 |
msgid "The coupon is not valid for the currently selected shipping method."
|
384 |
msgstr "De kortingsbon is niet geldig voor de gekozen verzendmethode."
|
385 |
|
386 |
+
#: includes/wjecf-controller.php:187
|
387 |
msgid "The coupon is not valid for the currently selected payment method."
|
388 |
msgstr "De kortingsbon is niet geldig voor de gekozen betaalmethode."
|
389 |
|
390 |
+
#: includes/wjecf-controller.php:190
|
391 |
#, php-format
|
392 |
msgid "Sorry, it seems the coupon \"%s\" is not yours."
|
393 |
msgstr "Sorry, het lijkt erop dat kortingsbon \"%s\" niet van u is."
|
394 |
|
395 |
+
#: includes/wjecf-pro-controller.php:59
|
396 |
+
msgid "Discount on cart with excluded products"
|
397 |
+
msgstr "Korting op winkelwagen met uitgesloten producten"
|
398 |
+
|
399 |
+
#: includes/wjecf-pro-controller.php:65
|
400 |
+
msgid "Allow discount on cart with excluded items"
|
401 |
+
msgstr "Korting toestaan op winkelwagen met uitgesloten producten"
|
402 |
+
|
403 |
+
#: includes/wjecf-pro-controller.php:66
|
404 |
+
msgid ""
|
405 |
+
"Check this box to allow a 'Cart Discount' coupon to be applied even when "
|
406 |
+
"excluded items are in the cart (see tab 'usage restriction')."
|
407 |
+
msgstr ""
|
408 |
+
"Aanvinken om een 'Winkelwagen korting'-coupon ook te accepteren als er "
|
409 |
+
"uitgesloten producten in de winkelwagen aanwezig zijn (zie tab "
|
410 |
+
"'gebruiksbeperking')."
|
411 |
+
|
412 |
+
#: includes/wjecf-pro-controller.php:77 includes/wjecf-pro-controller.php:83
|
413 |
msgid "Limit discount to"
|
414 |
+
msgstr "Beperk korting tot"
|
415 |
+
|
416 |
+
#: includes/wjecf-pro-controller.php:78
|
417 |
+
msgid ""
|
418 |
+
"Here you can exclude certain products from being discounted (Only applies to "
|
419 |
+
"Cart % Discount, Product Discount, Product % Discount)"
|
420 |
+
msgstr ""
|
421 |
+
"Hier kun je producten uitsluiten van korting (Geldt alleen voor Winkelwagen "
|
422 |
+
"% korting, Product korting, Product % korting)"
|
423 |
+
|
424 |
+
#: includes/wjecf-pro-controller.php:85
|
425 |
+
msgid "(default)"
|
426 |
+
msgstr "(standaard)"
|
427 |
+
|
428 |
+
#: includes/wjecf-pro-controller.php:86
|
429 |
+
msgid "One item per order line"
|
430 |
+
msgstr "Eén item per orderregel"
|
431 |
+
|
432 |
+
#: includes/wjecf-pro-controller.php:87
|
433 |
+
msgid "Lowest priced product (single item)"
|
434 |
+
msgstr "Laagst geprijsde product (één item)"
|
435 |
|
436 |
+
#: includes/wjecf-pro-controller.php:88
|
437 |
+
msgid "Lowest priced order line (all items)"
|
438 |
+
msgstr "Laagst geprijsde orderregel (alle items)"
|
439 |
+
|
440 |
+
#: includes/wjecf-pro-controller.php:90
|
441 |
msgid ""
|
442 |
"Please note that when the discount type is 'Product discount' (see 'General'-"
|
443 |
"tab), the discount will only be applied to <em>matching</em> products."
|
446 |
"is gekozen, de korting alleen zal worden toegepast op overeengekomen "
|
447 |
"producten."
|
448 |
|
449 |
+
#: includes/wjecf-pro-evalmath.php:735
|
450 |
+
msgid "an unexpected error occured"
|
451 |
+
msgstr ""
|
452 |
|
453 |
+
#: includes/wjecf-pro-evalmath.php:736
|
454 |
+
msgid "cannot assign to constant '{$a}'"
|
455 |
+
msgstr ""
|
456 |
+
|
457 |
+
#: includes/wjecf-pro-evalmath.php:737
|
458 |
+
msgid "cannot assign to readonly '{$a}'"
|
459 |
+
msgstr ""
|
460 |
+
|
461 |
+
#: includes/wjecf-pro-evalmath.php:738
|
462 |
+
msgid "cannot redefine built-in function '{$a}()'"
|
463 |
+
msgstr ""
|
464 |
+
|
465 |
+
#: includes/wjecf-pro-evalmath.php:739
|
466 |
+
msgid "division by zero"
|
467 |
+
msgstr ""
|
468 |
+
|
469 |
+
#: includes/wjecf-pro-evalmath.php:740
|
470 |
+
msgid "expecting a closing bracket"
|
471 |
+
msgstr ""
|
472 |
+
|
473 |
+
#: includes/wjecf-pro-evalmath.php:741
|
474 |
+
msgid "illegal character '{$a}'"
|
475 |
+
msgstr ""
|
476 |
+
|
477 |
+
#: includes/wjecf-pro-evalmath.php:742
|
478 |
+
msgid "illegal character '_'"
|
479 |
+
msgstr ""
|
480 |
+
|
481 |
+
#: includes/wjecf-pro-evalmath.php:743
|
482 |
+
msgid "expecting operator, implicit multiplication not allowed."
|
483 |
+
msgstr ""
|
484 |
+
|
485 |
+
#: includes/wjecf-pro-evalmath.php:744
|
486 |
+
msgid "internal error"
|
487 |
+
msgstr ""
|
488 |
+
|
489 |
+
#: includes/wjecf-pro-evalmath.php:745
|
490 |
+
msgid "operator '{$a}' lacks operand"
|
491 |
+
msgstr ""
|
492 |
+
|
493 |
+
#: includes/wjecf-pro-evalmath.php:746
|
494 |
+
msgid "undefined variable '{$a}'"
|
495 |
+
msgstr ""
|
496 |
|
497 |
+
#: includes/wjecf-pro-evalmath.php:747
|
498 |
+
msgid "undefined variable '{$a}' in function definition"
|
499 |
+
msgstr ""
|
500 |
+
|
501 |
+
#: includes/wjecf-pro-evalmath.php:748
|
502 |
+
msgid "unexpected closing bracket"
|
503 |
+
msgstr ""
|
504 |
+
|
505 |
+
#: includes/wjecf-pro-evalmath.php:749
|
506 |
+
msgid "unexpected comma"
|
507 |
+
msgstr ""
|
508 |
+
|
509 |
+
#: includes/wjecf-pro-evalmath.php:750
|
510 |
+
msgid "unexpected operator '{$a}'"
|
511 |
+
msgstr ""
|
512 |
+
|
513 |
+
#: includes/wjecf-pro-evalmath.php:751
|
514 |
msgid ""
|
515 |
+
"wrong number of arguments for function '{$a->function}()' ({$a->given} "
|
516 |
+
"given, {$a->expected} expected)"
|
517 |
msgstr ""
|
|
|
|
|
|
|
518 |
|
519 |
#: includes/wjecf-pro-free-products.php:80
|
520 |
msgid "Please select your free gift."
|
521 |
msgstr "Kies een gratis artikel."
|
522 |
|
523 |
+
#: includes/wjecf-pro-free-products.php:344
|
524 |
+
#: includes/wjecf-pro-free-products.php:354
|
525 |
msgid "Free!"
|
526 |
msgstr "Gratis!"
|
527 |
|
528 |
+
#: includes/wjecf-pro-free-products.php:419
|
529 |
+
#: includes/wjecf-pro-free-products.php:442
|
530 |
+
#: includes/wjecf-pro-free-products.php:448
|
531 |
msgid "Free products"
|
532 |
msgstr "Gratis producten"
|
533 |
|
534 |
+
#: includes/wjecf-pro-free-products.php:453
|
535 |
msgid ""
|
536 |
"Free products that will be added to the cart when this coupon is applied."
|
537 |
msgstr ""
|
538 |
"Gratis producten welke aan de winkelwagen worden toegevoegd als de coupon is "
|
539 |
"toegepast."
|
540 |
|
541 |
+
#: includes/wjecf-pro-free-products.php:460
|
542 |
msgid "Select one"
|
543 |
msgstr "Kies één"
|
544 |
|
545 |
+
#: includes/wjecf-pro-free-products.php:461
|
546 |
msgid "Check this box if the customer must choose from the free products."
|
547 |
msgstr "Aanvinken als de klant één van de gratis producten moet kiezen."
|
548 |
|
549 |
+
#: includes/wjecf-pro-free-products.php:469
|
550 |
msgid "'Select your gift'-message"
|
551 |
msgstr "'Kies uw gratis product'-boodschap"
|
552 |
|
553 |
+
#: includes/wjecf-pro-free-products.php:470
|
554 |
msgid "Please choose your free gift:"
|
555 |
msgstr "Kies uw gratis product:"
|
556 |
|
557 |
+
#: includes/wjecf-pro-free-products.php:471
|
558 |
msgid "This message is displayed when the customer must choose a free product."
|
559 |
msgstr ""
|
560 |
"Deze melding wordt getoond wanneer de klant een gratis product moet kiezen."
|
561 |
|
562 |
+
#: includes/wjecf-pro-free-products.php:480
|
563 |
msgid "Allow multiplication of the free products"
|
564 |
msgstr "Vermenigvuldigen gratis producten toestaan"
|
565 |
|
566 |
+
#: includes/wjecf-pro-free-products.php:481
|
567 |
msgid ""
|
568 |
"The amount of free products is multiplied every time the minimum spend, "
|
569 |
"subtotal or quantity is reached."
|
571 |
"Het aantal van de gratis producten wordt vermenigvuldigd met het totale "
|
572 |
"aantal keer dat minimale besteding, subtotaal of aantal is bereikt."
|
573 |
|
574 |
+
#: includes/wjecf-pro-free-products.php:488
|
575 |
msgid "BOGO matching products"
|
576 |
msgstr "1+1 gratis voor overeengekomen producten"
|
577 |
|
578 |
+
#: includes/wjecf-pro-free-products.php:490
|
579 |
msgid ""
|
580 |
"Buy one or more of any of the matching products (see 'Usage Restriction'-"
|
581 |
"tab) and get one free. Check 'Allow multiplication' to get one free item for "
|
585 |
"Gebruik 'vermenigvuldigen toestaan' om een gratis artikel voor elk "
|
586 |
"overeenkomend artikel te krijgen."
|
587 |
|
588 |
+
#: woocommerce-jos-autocoupon-pro.php:34
|
|
|
|
|
|
|
|
|
589 |
msgid ""
|
590 |
"WooCommerce Extended Coupon Features is disabled because WooCommerce could "
|
591 |
"not be detected."
|
languages/woocommerce-jos-autocoupon.pot
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
msgid ""
|
3 |
msgstr ""
|
4 |
"Project-Id-Version: WooCommerce Extended Coupon Features 2.00\n"
|
5 |
-
"POT-Creation-Date: 2016-
|
6 |
"PO-Revision-Date: 2015-05-09 18:12+0100\n"
|
7 |
"Last-Translator: \n"
|
8 |
"Language-Team: Jos Koenis\n"
|
@@ -16,208 +16,232 @@ msgstr ""
|
|
16 |
"X-Poedit-SourceCharset: UTF-8\n"
|
17 |
"X-Poedit-SearchPath-0: .\n"
|
18 |
|
19 |
-
#: includes/admin/wjecf-admin.php:
|
20 |
-
msgid "
|
|
|
|
|
|
|
21 |
msgstr ""
|
22 |
|
23 |
-
#: includes/admin/wjecf-admin.php:
|
24 |
-
msgid "
|
|
|
|
|
25 |
msgstr ""
|
26 |
|
27 |
-
#: includes/admin/wjecf-admin.php:
|
28 |
-
msgid "
|
|
|
|
|
|
|
|
|
29 |
msgstr ""
|
30 |
|
31 |
-
#: includes/admin/wjecf-admin.php:
|
32 |
-
msgid "
|
33 |
msgstr ""
|
34 |
|
35 |
-
#: includes/admin/wjecf-admin.php:
|
36 |
-
msgid "
|
37 |
msgstr ""
|
38 |
|
39 |
-
#: includes/admin/wjecf-admin.php:
|
40 |
-
msgid "
|
41 |
msgstr ""
|
42 |
|
43 |
-
#: includes/admin/wjecf-admin.php:123
|
44 |
-
msgid "
|
45 |
msgstr ""
|
46 |
|
47 |
-
#: includes/admin/wjecf-admin.php:
|
48 |
-
msgid "
|
49 |
msgstr ""
|
50 |
|
51 |
-
#: includes/admin/wjecf-admin.php:
|
52 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
53 |
msgstr ""
|
54 |
|
55 |
#: includes/admin/wjecf-admin.php:146
|
|
|
|
|
|
|
|
|
56 |
msgid "AND Products (not OR)"
|
57 |
msgstr ""
|
58 |
|
59 |
-
#: includes/admin/wjecf-admin.php:
|
60 |
msgid ""
|
61 |
"Check this box if ALL of the products (see tab 'usage restriction') must be "
|
62 |
"in the cart to use this coupon (instead of only one of the products)."
|
63 |
msgstr ""
|
64 |
|
65 |
-
#: includes/admin/wjecf-admin.php:
|
66 |
msgid "AND Categories (not OR)"
|
67 |
msgstr ""
|
68 |
|
69 |
-
#: includes/admin/wjecf-admin.php:
|
70 |
msgid ""
|
71 |
"Check this box if products from ALL of the categories (see tab 'usage "
|
72 |
"restriction') must be in the cart to use this coupon (instead of only one "
|
73 |
"from one of the categories)."
|
74 |
msgstr ""
|
75 |
|
76 |
-
#: includes/admin/wjecf-admin.php:
|
77 |
msgid "(AND)"
|
78 |
msgstr ""
|
79 |
|
80 |
-
#: includes/admin/wjecf-admin.php:
|
81 |
msgid "(OR)"
|
82 |
msgstr ""
|
83 |
|
84 |
-
#: includes/admin/wjecf-admin.php:
|
85 |
msgid "Minimum quantity of matching products"
|
86 |
msgstr ""
|
87 |
|
88 |
-
#: includes/admin/wjecf-admin.php:
|
89 |
msgid "No minimum"
|
90 |
msgstr ""
|
91 |
|
92 |
-
#: includes/admin/wjecf-admin.php:
|
93 |
msgid ""
|
94 |
"Minimum quantity of the products that match the given product or category "
|
95 |
"restrictions (see tab 'usage restriction'). If no product or category "
|
96 |
"restrictions are specified, the total number of products is used."
|
97 |
msgstr ""
|
98 |
|
99 |
-
#: includes/admin/wjecf-admin.php:
|
100 |
msgid "Maximum quantity of matching products"
|
101 |
msgstr ""
|
102 |
|
103 |
-
#: includes/admin/wjecf-admin.php:
|
104 |
msgid "No maximum"
|
105 |
msgstr ""
|
106 |
|
107 |
-
#: includes/admin/wjecf-admin.php:
|
108 |
msgid ""
|
109 |
"Maximum quantity of the products that match the given product or category "
|
110 |
"restrictions (see tab 'usage restriction'). If no product or category "
|
111 |
"restrictions are specified, the total number of products is used."
|
112 |
msgstr ""
|
113 |
|
114 |
-
#: includes/admin/wjecf-admin.php:
|
115 |
msgid "Minimum subtotal of matching products"
|
116 |
msgstr ""
|
117 |
|
118 |
-
#: includes/admin/wjecf-admin.php:
|
119 |
msgid ""
|
120 |
"Minimum price subtotal of the products that match the given product or "
|
121 |
"category restrictions (see tab 'usage restriction')."
|
122 |
msgstr ""
|
123 |
|
124 |
-
#: includes/admin/wjecf-admin.php:
|
125 |
msgid "Maximum subtotal of matching products"
|
126 |
msgstr ""
|
127 |
|
128 |
-
#: includes/admin/wjecf-admin.php:
|
129 |
msgid ""
|
130 |
"Maximum price subtotal of the products that match the given product or "
|
131 |
"category restrictions (see tab 'usage restriction')."
|
132 |
msgstr ""
|
133 |
|
134 |
-
#: includes/admin/wjecf-admin.php:
|
135 |
msgid "Shipping methods"
|
136 |
msgstr ""
|
137 |
|
138 |
-
#: includes/admin/wjecf-admin.php:
|
139 |
msgid "Any shipping method"
|
140 |
msgstr ""
|
141 |
|
142 |
-
#: includes/admin/wjecf-admin.php:
|
143 |
msgid ""
|
144 |
"One of these shipping methods must be selected in order for this coupon to "
|
145 |
"be valid."
|
146 |
msgstr ""
|
147 |
|
148 |
-
#: includes/admin/wjecf-admin.php:
|
149 |
msgid "Payment methods"
|
150 |
msgstr ""
|
151 |
|
152 |
-
#: includes/admin/wjecf-admin.php:
|
153 |
msgid "Any payment method"
|
154 |
msgstr ""
|
155 |
|
156 |
-
#: includes/admin/wjecf-admin.php:
|
157 |
msgid ""
|
158 |
"One of these payment methods must be selected in order for this coupon to be "
|
159 |
"valid."
|
160 |
msgstr ""
|
161 |
|
162 |
-
#: includes/admin/wjecf-admin.php:
|
163 |
msgid "Customer restrictions"
|
164 |
msgstr ""
|
165 |
|
166 |
-
#: includes/admin/wjecf-admin.php:
|
167 |
msgid ""
|
168 |
"If both a customer and a role restriction are supplied, matching either one "
|
169 |
"of them will suffice."
|
170 |
msgstr ""
|
171 |
|
172 |
-
#: includes/admin/wjecf-admin.php:
|
173 |
msgid "Allowed Customers"
|
174 |
msgstr ""
|
175 |
|
176 |
-
#: includes/admin/wjecf-admin.php:
|
177 |
msgid "Any customer"
|
178 |
msgstr ""
|
179 |
|
180 |
-
#: includes/admin/wjecf-admin.php:
|
181 |
msgid "Only these customers may use this coupon."
|
182 |
msgstr ""
|
183 |
|
184 |
-
#: includes/admin/wjecf-admin.php:
|
185 |
msgid "Allowed User Roles"
|
186 |
msgstr ""
|
187 |
|
188 |
-
#: includes/admin/wjecf-admin.php:
|
189 |
msgid "Any role"
|
190 |
msgstr ""
|
191 |
|
192 |
-
#: includes/admin/wjecf-admin.php:
|
193 |
msgid "Only these User Roles may use this coupon."
|
194 |
msgstr ""
|
195 |
|
196 |
-
#: includes/admin/wjecf-admin.php:
|
197 |
msgid "Disallowed User Roles"
|
198 |
msgstr ""
|
199 |
|
200 |
-
#: includes/admin/wjecf-admin.php:
|
201 |
msgid "These User Roles will be specifically excluded from using this coupon."
|
202 |
msgstr ""
|
203 |
|
204 |
-
#: includes/admin/wjecf-admin.php:
|
205 |
msgid "Allow when minimum spend not reached"
|
206 |
msgstr ""
|
207 |
|
208 |
-
#: includes/admin/wjecf-admin.php:
|
209 |
-
#: includes/wjecf-pro-free-products.php:
|
210 |
-
#: includes/wjecf-pro-free-products.php:482
|
211 |
msgid "EXPERIMENTAL: "
|
212 |
msgstr ""
|
213 |
|
214 |
-
#: includes/admin/wjecf-admin.php:
|
215 |
msgid ""
|
216 |
"Check this box to allow the coupon to be in the cart even when minimum spend "
|
217 |
"(see tab 'usage restriction') is not reached. Value of the discount will be "
|
218 |
"0 until minimum spend is reached."
|
219 |
msgstr ""
|
220 |
|
|
|
|
|
|
|
|
|
221 |
#: includes/wjecf-autocoupon.php:58 includes/wjecf-autocoupon.php:130
|
222 |
#: includes/wjecf-autocoupon.php:137
|
223 |
msgid "Auto coupon"
|
@@ -268,138 +292,231 @@ msgstr ""
|
|
268 |
msgid "Don't display a message when this coupon is automatically applied."
|
269 |
msgstr ""
|
270 |
|
271 |
-
#: includes/wjecf-autocoupon.php:
|
|
|
|
|
|
|
|
|
|
|
272 |
msgid "Free shipping coupon"
|
273 |
msgstr ""
|
274 |
|
275 |
-
#: includes/wjecf-autocoupon.php:
|
276 |
#, php-format
|
277 |
msgid "Discount applied: %s"
|
278 |
msgstr ""
|
279 |
|
280 |
-
#: includes/wjecf-controller.php:
|
281 |
#, php-format
|
282 |
msgid "The minimum subtotal of the matching products for this coupon is %s."
|
283 |
msgstr ""
|
284 |
|
285 |
-
#: includes/wjecf-controller.php:
|
286 |
#, php-format
|
287 |
msgid "The maximum subtotal of the matching products for this coupon is %s."
|
288 |
msgstr ""
|
289 |
|
290 |
-
#: includes/wjecf-controller.php:
|
291 |
#, php-format
|
292 |
msgid "The minimum quantity of matching products for this coupon is %s."
|
293 |
msgstr ""
|
294 |
|
295 |
-
#: includes/wjecf-controller.php:
|
296 |
#, php-format
|
297 |
msgid "The maximum quantity of matching products for this coupon is %s."
|
298 |
msgstr ""
|
299 |
|
300 |
-
#: includes/wjecf-controller.php:
|
301 |
msgid "The coupon is not valid for the currently selected shipping method."
|
302 |
msgstr ""
|
303 |
|
304 |
-
#: includes/wjecf-controller.php:
|
305 |
msgid "The coupon is not valid for the currently selected payment method."
|
306 |
msgstr ""
|
307 |
|
308 |
-
#: includes/wjecf-controller.php:
|
309 |
#, php-format
|
310 |
msgid "Sorry, it seems the coupon \"%s\" is not yours."
|
311 |
msgstr ""
|
312 |
|
313 |
-
#: includes/wjecf-pro-controller.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
314 |
msgid "Limit discount to"
|
315 |
msgstr ""
|
316 |
|
317 |
-
#: includes/wjecf-pro-controller.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
318 |
msgid ""
|
319 |
"Please note that when the discount type is 'Product discount' (see 'General'-"
|
320 |
"tab), the discount will only be applied to <em>matching</em> products."
|
321 |
msgstr ""
|
322 |
|
323 |
-
#: includes/wjecf-pro-
|
324 |
-
msgid "
|
325 |
msgstr ""
|
326 |
|
327 |
-
#: includes/wjecf-pro-
|
328 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
329 |
msgstr ""
|
330 |
|
331 |
-
#: includes/wjecf-pro-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
332 |
msgid ""
|
333 |
-
"
|
334 |
-
"
|
335 |
msgstr ""
|
336 |
|
337 |
#: includes/wjecf-pro-free-products.php:80
|
338 |
msgid "Please select your free gift."
|
339 |
msgstr ""
|
340 |
|
341 |
-
#: includes/wjecf-pro-free-products.php:
|
342 |
-
#: includes/wjecf-pro-free-products.php:
|
343 |
msgid "Free!"
|
344 |
msgstr ""
|
345 |
|
346 |
-
#: includes/wjecf-pro-free-products.php:
|
347 |
-
#: includes/wjecf-pro-free-products.php:
|
348 |
-
#: includes/wjecf-pro-free-products.php:
|
349 |
msgid "Free products"
|
350 |
msgstr ""
|
351 |
|
352 |
-
#: includes/wjecf-pro-free-products.php:
|
353 |
msgid ""
|
354 |
"Free products that will be added to the cart when this coupon is applied."
|
355 |
msgstr ""
|
356 |
|
357 |
-
#: includes/wjecf-pro-free-products.php:
|
358 |
msgid "Select one"
|
359 |
msgstr ""
|
360 |
|
361 |
-
#: includes/wjecf-pro-free-products.php:
|
362 |
msgid "Check this box if the customer must choose from the free products."
|
363 |
msgstr ""
|
364 |
|
365 |
-
#: includes/wjecf-pro-free-products.php:
|
366 |
msgid "'Select your gift'-message"
|
367 |
msgstr ""
|
368 |
|
369 |
-
#: includes/wjecf-pro-free-products.php:
|
370 |
msgid "Please choose your free gift:"
|
371 |
msgstr ""
|
372 |
|
373 |
-
#: includes/wjecf-pro-free-products.php:
|
374 |
msgid "This message is displayed when the customer must choose a free product."
|
375 |
msgstr ""
|
376 |
|
377 |
-
#: includes/wjecf-pro-free-products.php:
|
378 |
msgid "Allow multiplication of the free products"
|
379 |
msgstr ""
|
380 |
|
381 |
-
#: includes/wjecf-pro-free-products.php:
|
382 |
msgid ""
|
383 |
"The amount of free products is multiplied every time the minimum spend, "
|
384 |
"subtotal or quantity is reached."
|
385 |
msgstr ""
|
386 |
|
387 |
-
#: includes/wjecf-pro-free-products.php:
|
388 |
msgid "BOGO matching products"
|
389 |
msgstr ""
|
390 |
|
391 |
-
#: includes/wjecf-pro-free-products.php:
|
392 |
msgid ""
|
393 |
"Buy one or more of any of the matching products (see 'Usage Restriction'-"
|
394 |
"tab) and get one free. Check 'Allow multiplication' to get one free item for "
|
395 |
"every matching item in the cart."
|
396 |
msgstr ""
|
397 |
|
398 |
-
#:
|
399 |
-
msgid "Search for a product…"
|
400 |
-
msgstr ""
|
401 |
-
|
402 |
-
#: woocommerce-jos-autocoupon-pro.php:33
|
403 |
msgid ""
|
404 |
"WooCommerce Extended Coupon Features is disabled because WooCommerce could "
|
405 |
"not be detected."
|
2 |
msgid ""
|
3 |
msgstr ""
|
4 |
"Project-Id-Version: WooCommerce Extended Coupon Features 2.00\n"
|
5 |
+
"POT-Creation-Date: 2016-05-14 13:02+0200\n"
|
6 |
"PO-Revision-Date: 2015-05-09 18:12+0100\n"
|
7 |
"Last-Translator: \n"
|
8 |
"Language-Team: Jos Koenis\n"
|
16 |
"X-Poedit-SourceCharset: UTF-8\n"
|
17 |
"X-Poedit-SearchPath-0: .\n"
|
18 |
|
19 |
+
#: includes/admin/wjecf-admin-auto-upgrade.php:36
|
20 |
+
msgid ""
|
21 |
+
"<strong>WooCommerce Extended Coupon Features:</strong> Please note, you're "
|
22 |
+
"using an older version of this plugin, while the data was upgraded to a "
|
23 |
+
"newer version."
|
24 |
msgstr ""
|
25 |
|
26 |
+
#: includes/admin/wjecf-admin-auto-upgrade.php:44
|
27 |
+
msgid ""
|
28 |
+
"<strong>WooCommerce Extended Coupon Features:</strong> Data succesfully "
|
29 |
+
"upgraded to the newest version."
|
30 |
msgstr ""
|
31 |
|
32 |
+
#: includes/admin/wjecf-admin.php:19
|
33 |
+
msgid ""
|
34 |
+
"<strong>WooCommerce Extended Coupon Features:</strong> You are using a "
|
35 |
+
"WooCommerce version prior to 2.3.0. Updating of WooCommerce is recommended "
|
36 |
+
"as using an outdated version might cause unexpected behaviour in combination "
|
37 |
+
"with modern plugins."
|
38 |
msgstr ""
|
39 |
|
40 |
+
#: includes/admin/wjecf-admin.php:68
|
41 |
+
msgid "Products"
|
42 |
msgstr ""
|
43 |
|
44 |
+
#: includes/admin/wjecf-admin.php:74 includes/admin/wjecf-admin.php:235
|
45 |
+
msgid "Checkout"
|
46 |
msgstr ""
|
47 |
|
48 |
+
#: includes/admin/wjecf-admin.php:80 includes/admin/wjecf-admin.php:345
|
49 |
+
msgid "Miscellaneous"
|
50 |
msgstr ""
|
51 |
|
52 |
+
#: includes/admin/wjecf-admin.php:123
|
53 |
+
msgid "Do you find WooCommerce Extended Coupon Features useful?"
|
54 |
msgstr ""
|
55 |
|
56 |
+
#: includes/admin/wjecf-admin.php:125
|
57 |
+
msgid "Express your gratitude"
|
58 |
msgstr ""
|
59 |
|
60 |
+
#: includes/admin/wjecf-admin.php:129
|
61 |
+
msgid "Donate to the developer"
|
62 |
+
msgstr ""
|
63 |
+
|
64 |
+
#: includes/admin/wjecf-admin.php:136
|
65 |
+
msgid "Documentation"
|
66 |
+
msgstr ""
|
67 |
+
|
68 |
+
#: includes/admin/wjecf-admin.php:138
|
69 |
+
msgid "WooCommerce Extended Coupon Features Documentation"
|
70 |
msgstr ""
|
71 |
|
72 |
#: includes/admin/wjecf-admin.php:146
|
73 |
+
msgid "Matching products"
|
74 |
+
msgstr ""
|
75 |
+
|
76 |
+
#: includes/admin/wjecf-admin.php:151
|
77 |
msgid "AND Products (not OR)"
|
78 |
msgstr ""
|
79 |
|
80 |
+
#: includes/admin/wjecf-admin.php:152
|
81 |
msgid ""
|
82 |
"Check this box if ALL of the products (see tab 'usage restriction') must be "
|
83 |
"in the cart to use this coupon (instead of only one of the products)."
|
84 |
msgstr ""
|
85 |
|
86 |
+
#: includes/admin/wjecf-admin.php:159
|
87 |
msgid "AND Categories (not OR)"
|
88 |
msgstr ""
|
89 |
|
90 |
+
#: includes/admin/wjecf-admin.php:160
|
91 |
msgid ""
|
92 |
"Check this box if products from ALL of the categories (see tab 'usage "
|
93 |
"restriction') must be in the cart to use this coupon (instead of only one "
|
94 |
"from one of the categories)."
|
95 |
msgstr ""
|
96 |
|
97 |
+
#: includes/admin/wjecf-admin.php:165
|
98 |
msgid "(AND)"
|
99 |
msgstr ""
|
100 |
|
101 |
+
#: includes/admin/wjecf-admin.php:166
|
102 |
msgid "(OR)"
|
103 |
msgstr ""
|
104 |
|
105 |
+
#: includes/admin/wjecf-admin.php:195
|
106 |
msgid "Minimum quantity of matching products"
|
107 |
msgstr ""
|
108 |
|
109 |
+
#: includes/admin/wjecf-admin.php:196 includes/admin/wjecf-admin.php:216
|
110 |
msgid "No minimum"
|
111 |
msgstr ""
|
112 |
|
113 |
+
#: includes/admin/wjecf-admin.php:197
|
114 |
msgid ""
|
115 |
"Minimum quantity of the products that match the given product or category "
|
116 |
"restrictions (see tab 'usage restriction'). If no product or category "
|
117 |
"restrictions are specified, the total number of products is used."
|
118 |
msgstr ""
|
119 |
|
120 |
+
#: includes/admin/wjecf-admin.php:205
|
121 |
msgid "Maximum quantity of matching products"
|
122 |
msgstr ""
|
123 |
|
124 |
+
#: includes/admin/wjecf-admin.php:206 includes/admin/wjecf-admin.php:226
|
125 |
msgid "No maximum"
|
126 |
msgstr ""
|
127 |
|
128 |
+
#: includes/admin/wjecf-admin.php:207
|
129 |
msgid ""
|
130 |
"Maximum quantity of the products that match the given product or category "
|
131 |
"restrictions (see tab 'usage restriction'). If no product or category "
|
132 |
"restrictions are specified, the total number of products is used."
|
133 |
msgstr ""
|
134 |
|
135 |
+
#: includes/admin/wjecf-admin.php:215
|
136 |
msgid "Minimum subtotal of matching products"
|
137 |
msgstr ""
|
138 |
|
139 |
+
#: includes/admin/wjecf-admin.php:217
|
140 |
msgid ""
|
141 |
"Minimum price subtotal of the products that match the given product or "
|
142 |
"category restrictions (see tab 'usage restriction')."
|
143 |
msgstr ""
|
144 |
|
145 |
+
#: includes/admin/wjecf-admin.php:225
|
146 |
msgid "Maximum subtotal of matching products"
|
147 |
msgstr ""
|
148 |
|
149 |
+
#: includes/admin/wjecf-admin.php:227
|
150 |
msgid ""
|
151 |
"Maximum price subtotal of the products that match the given product or "
|
152 |
"category restrictions (see tab 'usage restriction')."
|
153 |
msgstr ""
|
154 |
|
155 |
+
#: includes/admin/wjecf-admin.php:240
|
156 |
msgid "Shipping methods"
|
157 |
msgstr ""
|
158 |
|
159 |
+
#: includes/admin/wjecf-admin.php:241
|
160 |
msgid "Any shipping method"
|
161 |
msgstr ""
|
162 |
|
163 |
+
#: includes/admin/wjecf-admin.php:250
|
164 |
msgid ""
|
165 |
"One of these shipping methods must be selected in order for this coupon to "
|
166 |
"be valid."
|
167 |
msgstr ""
|
168 |
|
169 |
+
#: includes/admin/wjecf-admin.php:256
|
170 |
msgid "Payment methods"
|
171 |
msgstr ""
|
172 |
|
173 |
+
#: includes/admin/wjecf-admin.php:257
|
174 |
msgid "Any payment method"
|
175 |
msgstr ""
|
176 |
|
177 |
+
#: includes/admin/wjecf-admin.php:268
|
178 |
msgid ""
|
179 |
"One of these payment methods must be selected in order for this coupon to be "
|
180 |
"valid."
|
181 |
msgstr ""
|
182 |
|
183 |
+
#: includes/admin/wjecf-admin.php:276
|
184 |
msgid "Customer restrictions"
|
185 |
msgstr ""
|
186 |
|
187 |
+
#: includes/admin/wjecf-admin.php:277
|
188 |
msgid ""
|
189 |
"If both a customer and a role restriction are supplied, matching either one "
|
190 |
"of them will suffice."
|
191 |
msgstr ""
|
192 |
|
193 |
+
#: includes/admin/wjecf-admin.php:282
|
194 |
msgid "Allowed Customers"
|
195 |
msgstr ""
|
196 |
|
197 |
+
#: includes/admin/wjecf-admin.php:283
|
198 |
msgid "Any customer"
|
199 |
msgstr ""
|
200 |
|
201 |
+
#: includes/admin/wjecf-admin.php:296
|
202 |
msgid "Only these customers may use this coupon."
|
203 |
msgstr ""
|
204 |
|
205 |
+
#: includes/admin/wjecf-admin.php:303
|
206 |
msgid "Allowed User Roles"
|
207 |
msgstr ""
|
208 |
|
209 |
+
#: includes/admin/wjecf-admin.php:304 includes/admin/wjecf-admin.php:326
|
210 |
msgid "Any role"
|
211 |
msgstr ""
|
212 |
|
213 |
+
#: includes/admin/wjecf-admin.php:318
|
214 |
msgid "Only these User Roles may use this coupon."
|
215 |
msgstr ""
|
216 |
|
217 |
+
#: includes/admin/wjecf-admin.php:325
|
218 |
msgid "Disallowed User Roles"
|
219 |
msgstr ""
|
220 |
|
221 |
+
#: includes/admin/wjecf-admin.php:339
|
222 |
msgid "These User Roles will be specifically excluded from using this coupon."
|
223 |
msgstr ""
|
224 |
|
225 |
+
#: includes/admin/wjecf-admin.php:350
|
226 |
msgid "Allow when minimum spend not reached"
|
227 |
msgstr ""
|
228 |
|
229 |
+
#: includes/admin/wjecf-admin.php:351 includes/wjecf-pro-free-products.php:481
|
230 |
+
#: includes/wjecf-pro-free-products.php:489
|
|
|
231 |
msgid "EXPERIMENTAL: "
|
232 |
msgstr ""
|
233 |
|
234 |
+
#: includes/admin/wjecf-admin.php:351
|
235 |
msgid ""
|
236 |
"Check this box to allow the coupon to be in the cart even when minimum spend "
|
237 |
"(see tab 'usage restriction') is not reached. Value of the discount will be "
|
238 |
"0 until minimum spend is reached."
|
239 |
msgstr ""
|
240 |
|
241 |
+
#: includes/admin/wjecf-admin.php:398 includes/admin/wjecf-admin.php:423
|
242 |
+
msgid "Search for a product…"
|
243 |
+
msgstr ""
|
244 |
+
|
245 |
#: includes/wjecf-autocoupon.php:58 includes/wjecf-autocoupon.php:130
|
246 |
#: includes/wjecf-autocoupon.php:137
|
247 |
msgid "Auto coupon"
|
292 |
msgid "Don't display a message when this coupon is automatically applied."
|
293 |
msgstr ""
|
294 |
|
295 |
+
#: includes/wjecf-autocoupon.php:240
|
296 |
+
#, php-format
|
297 |
+
msgid "Coupon '%s' will be applied when it's conditions are met."
|
298 |
+
msgstr ""
|
299 |
+
|
300 |
+
#: includes/wjecf-autocoupon.php:306
|
301 |
msgid "Free shipping coupon"
|
302 |
msgstr ""
|
303 |
|
304 |
+
#: includes/wjecf-autocoupon.php:381 includes/wjecf-autocoupon.php:415
|
305 |
#, php-format
|
306 |
msgid "Discount applied: %s"
|
307 |
msgstr ""
|
308 |
|
309 |
+
#: includes/wjecf-controller.php:169
|
310 |
#, php-format
|
311 |
msgid "The minimum subtotal of the matching products for this coupon is %s."
|
312 |
msgstr ""
|
313 |
|
314 |
+
#: includes/wjecf-controller.php:173
|
315 |
#, php-format
|
316 |
msgid "The maximum subtotal of the matching products for this coupon is %s."
|
317 |
msgstr ""
|
318 |
|
319 |
+
#: includes/wjecf-controller.php:177
|
320 |
#, php-format
|
321 |
msgid "The minimum quantity of matching products for this coupon is %s."
|
322 |
msgstr ""
|
323 |
|
324 |
+
#: includes/wjecf-controller.php:181
|
325 |
#, php-format
|
326 |
msgid "The maximum quantity of matching products for this coupon is %s."
|
327 |
msgstr ""
|
328 |
|
329 |
+
#: includes/wjecf-controller.php:184
|
330 |
msgid "The coupon is not valid for the currently selected shipping method."
|
331 |
msgstr ""
|
332 |
|
333 |
+
#: includes/wjecf-controller.php:187
|
334 |
msgid "The coupon is not valid for the currently selected payment method."
|
335 |
msgstr ""
|
336 |
|
337 |
+
#: includes/wjecf-controller.php:190
|
338 |
#, php-format
|
339 |
msgid "Sorry, it seems the coupon \"%s\" is not yours."
|
340 |
msgstr ""
|
341 |
|
342 |
+
#: includes/wjecf-pro-controller.php:59
|
343 |
+
msgid "Discount on cart with excluded products"
|
344 |
+
msgstr ""
|
345 |
+
|
346 |
+
#: includes/wjecf-pro-controller.php:65
|
347 |
+
msgid "Allow discount on cart with excluded items"
|
348 |
+
msgstr ""
|
349 |
+
|
350 |
+
#: includes/wjecf-pro-controller.php:66
|
351 |
+
msgid ""
|
352 |
+
"Check this box to allow a 'Cart Discount' coupon to be applied even when "
|
353 |
+
"excluded items are in the cart (see tab 'usage restriction')."
|
354 |
+
msgstr ""
|
355 |
+
|
356 |
+
#: includes/wjecf-pro-controller.php:77 includes/wjecf-pro-controller.php:83
|
357 |
msgid "Limit discount to"
|
358 |
msgstr ""
|
359 |
|
360 |
+
#: includes/wjecf-pro-controller.php:78
|
361 |
+
msgid ""
|
362 |
+
"Here you can exclude certain products from being discounted (Only applies to "
|
363 |
+
"Cart % Discount, Product Discount, Product % Discount)"
|
364 |
+
msgstr ""
|
365 |
+
|
366 |
+
#: includes/wjecf-pro-controller.php:85
|
367 |
+
msgid "(default)"
|
368 |
+
msgstr ""
|
369 |
+
|
370 |
+
#: includes/wjecf-pro-controller.php:86
|
371 |
+
msgid "One item per order line"
|
372 |
+
msgstr ""
|
373 |
+
|
374 |
+
#: includes/wjecf-pro-controller.php:87
|
375 |
+
msgid "Lowest priced product (single item)"
|
376 |
+
msgstr ""
|
377 |
+
|
378 |
+
#: includes/wjecf-pro-controller.php:88
|
379 |
+
msgid "Lowest priced order line (all items)"
|
380 |
+
msgstr ""
|
381 |
+
|
382 |
+
#: includes/wjecf-pro-controller.php:90
|
383 |
msgid ""
|
384 |
"Please note that when the discount type is 'Product discount' (see 'General'-"
|
385 |
"tab), the discount will only be applied to <em>matching</em> products."
|
386 |
msgstr ""
|
387 |
|
388 |
+
#: includes/wjecf-pro-evalmath.php:735
|
389 |
+
msgid "an unexpected error occured"
|
390 |
msgstr ""
|
391 |
|
392 |
+
#: includes/wjecf-pro-evalmath.php:736
|
393 |
+
msgid "cannot assign to constant '{$a}'"
|
394 |
+
msgstr ""
|
395 |
+
|
396 |
+
#: includes/wjecf-pro-evalmath.php:737
|
397 |
+
msgid "cannot assign to readonly '{$a}'"
|
398 |
+
msgstr ""
|
399 |
+
|
400 |
+
#: includes/wjecf-pro-evalmath.php:738
|
401 |
+
msgid "cannot redefine built-in function '{$a}()'"
|
402 |
+
msgstr ""
|
403 |
+
|
404 |
+
#: includes/wjecf-pro-evalmath.php:739
|
405 |
+
msgid "division by zero"
|
406 |
+
msgstr ""
|
407 |
+
|
408 |
+
#: includes/wjecf-pro-evalmath.php:740
|
409 |
+
msgid "expecting a closing bracket"
|
410 |
+
msgstr ""
|
411 |
+
|
412 |
+
#: includes/wjecf-pro-evalmath.php:741
|
413 |
+
msgid "illegal character '{$a}'"
|
414 |
+
msgstr ""
|
415 |
+
|
416 |
+
#: includes/wjecf-pro-evalmath.php:742
|
417 |
+
msgid "illegal character '_'"
|
418 |
msgstr ""
|
419 |
|
420 |
+
#: includes/wjecf-pro-evalmath.php:743
|
421 |
+
msgid "expecting operator, implicit multiplication not allowed."
|
422 |
+
msgstr ""
|
423 |
+
|
424 |
+
#: includes/wjecf-pro-evalmath.php:744
|
425 |
+
msgid "internal error"
|
426 |
+
msgstr ""
|
427 |
+
|
428 |
+
#: includes/wjecf-pro-evalmath.php:745
|
429 |
+
msgid "operator '{$a}' lacks operand"
|
430 |
+
msgstr ""
|
431 |
+
|
432 |
+
#: includes/wjecf-pro-evalmath.php:746
|
433 |
+
msgid "undefined variable '{$a}'"
|
434 |
+
msgstr ""
|
435 |
+
|
436 |
+
#: includes/wjecf-pro-evalmath.php:747
|
437 |
+
msgid "undefined variable '{$a}' in function definition"
|
438 |
+
msgstr ""
|
439 |
+
|
440 |
+
#: includes/wjecf-pro-evalmath.php:748
|
441 |
+
msgid "unexpected closing bracket"
|
442 |
+
msgstr ""
|
443 |
+
|
444 |
+
#: includes/wjecf-pro-evalmath.php:749
|
445 |
+
msgid "unexpected comma"
|
446 |
+
msgstr ""
|
447 |
+
|
448 |
+
#: includes/wjecf-pro-evalmath.php:750
|
449 |
+
msgid "unexpected operator '{$a}'"
|
450 |
+
msgstr ""
|
451 |
+
|
452 |
+
#: includes/wjecf-pro-evalmath.php:751
|
453 |
msgid ""
|
454 |
+
"wrong number of arguments for function '{$a->function}()' ({$a->given} "
|
455 |
+
"given, {$a->expected} expected)"
|
456 |
msgstr ""
|
457 |
|
458 |
#: includes/wjecf-pro-free-products.php:80
|
459 |
msgid "Please select your free gift."
|
460 |
msgstr ""
|
461 |
|
462 |
+
#: includes/wjecf-pro-free-products.php:344
|
463 |
+
#: includes/wjecf-pro-free-products.php:354
|
464 |
msgid "Free!"
|
465 |
msgstr ""
|
466 |
|
467 |
+
#: includes/wjecf-pro-free-products.php:419
|
468 |
+
#: includes/wjecf-pro-free-products.php:442
|
469 |
+
#: includes/wjecf-pro-free-products.php:448
|
470 |
msgid "Free products"
|
471 |
msgstr ""
|
472 |
|
473 |
+
#: includes/wjecf-pro-free-products.php:453
|
474 |
msgid ""
|
475 |
"Free products that will be added to the cart when this coupon is applied."
|
476 |
msgstr ""
|
477 |
|
478 |
+
#: includes/wjecf-pro-free-products.php:460
|
479 |
msgid "Select one"
|
480 |
msgstr ""
|
481 |
|
482 |
+
#: includes/wjecf-pro-free-products.php:461
|
483 |
msgid "Check this box if the customer must choose from the free products."
|
484 |
msgstr ""
|
485 |
|
486 |
+
#: includes/wjecf-pro-free-products.php:469
|
487 |
msgid "'Select your gift'-message"
|
488 |
msgstr ""
|
489 |
|
490 |
+
#: includes/wjecf-pro-free-products.php:470
|
491 |
msgid "Please choose your free gift:"
|
492 |
msgstr ""
|
493 |
|
494 |
+
#: includes/wjecf-pro-free-products.php:471
|
495 |
msgid "This message is displayed when the customer must choose a free product."
|
496 |
msgstr ""
|
497 |
|
498 |
+
#: includes/wjecf-pro-free-products.php:480
|
499 |
msgid "Allow multiplication of the free products"
|
500 |
msgstr ""
|
501 |
|
502 |
+
#: includes/wjecf-pro-free-products.php:481
|
503 |
msgid ""
|
504 |
"The amount of free products is multiplied every time the minimum spend, "
|
505 |
"subtotal or quantity is reached."
|
506 |
msgstr ""
|
507 |
|
508 |
+
#: includes/wjecf-pro-free-products.php:488
|
509 |
msgid "BOGO matching products"
|
510 |
msgstr ""
|
511 |
|
512 |
+
#: includes/wjecf-pro-free-products.php:490
|
513 |
msgid ""
|
514 |
"Buy one or more of any of the matching products (see 'Usage Restriction'-"
|
515 |
"tab) and get one free. Check 'Allow multiplication' to get one free item for "
|
516 |
"every matching item in the cart."
|
517 |
msgstr ""
|
518 |
|
519 |
+
#: woocommerce-jos-autocoupon-pro.php:34
|
|
|
|
|
|
|
|
|
520 |
msgid ""
|
521 |
"WooCommerce Extended Coupon Features is disabled because WooCommerce could "
|
522 |
"not be detected."
|
readme.txt
CHANGED
@@ -3,8 +3,8 @@ Contributors: josk79
|
|
3 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=5T9XQBCS2QHRY&lc=NL&item_name=Jos%20Koenis&item_number=wordpress%2dplugin¤cy_code=EUR&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted
|
4 |
Tags: woocommerce, coupons, discount
|
5 |
Requires at least: 4.0.0
|
6 |
-
Tested up to: 4.
|
7 |
-
Stable tag: 2.3.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -15,7 +15,7 @@ Additional functionality for WooCommerce Coupons: Allow discounts to be automati
|
|
15 |
"WooCommerce Extended Coupon Features" adds functionality to the WooCommerce coupons and allows for automatic discount rules.
|
16 |
Very easy to use, the functionality is conveniently integrated to the WooCommerce Edit Coupon panel.
|
17 |
|
18 |
-
Compatible with WooCommerce 2.5.
|
19 |
|
20 |
Full documentation is available at [www.soft79.nl](http://www.soft79.nl/documentation/wjecf).
|
21 |
|
@@ -24,6 +24,7 @@ Full documentation is available at [www.soft79.nl](http://www.soft79.nl/document
|
|
24 |
* Restrict coupon by shipping method,
|
25 |
* Restrict coupon by payment method,
|
26 |
* Restrict coupon by a combination of products
|
|
|
27 |
* (PRO) Add *free products* to the customer's cart based on coupon rules
|
28 |
* (PRO) Allow a cart discount to be applied based on quantity / subtotal of matching products
|
29 |
* (PRO) Set Auto Coupon priorities (Useful for 'Individual Use Only'-coupons)
|
@@ -63,7 +64,7 @@ This plugin has been tested in combination with WPML and qTranslate-X.
|
|
63 |
|
64 |
1. Create a coupon through the 'Coupons' menu in WooCommerce. TIP: Name it auto_'whatever' so it will be easy to recognize the auto coupons
|
65 |
2. Setup the coupon as you'd normally would. Make sure you enter a description for the coupon and set usage restrictions
|
66 |
-
3. In the "
|
67 |
4. Voila! That's it
|
68 |
|
69 |
== Frequently Asked Questions ==
|
@@ -105,6 +106,14 @@ Sure! [This](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=5T9XQ
|
|
105 |
|
106 |
== Changelog ==
|
107 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
108 |
= 2.3.2 =
|
109 |
* FEATURE: Display custom error message when coupon is invalidated by this plugin
|
110 |
* FIX: apply_coupon redirected to wrong url when home_url contained a subdirectory
|
@@ -222,11 +231,3 @@ Sure! [This](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=5T9XQ
|
|
222 |
|
223 |
= 1.0 =
|
224 |
* First version ever!
|
225 |
-
== Upgrade Notice ==
|
226 |
-
|
227 |
-
= 2.0.0 =
|
228 |
-
New name, extended functionality!
|
229 |
-
Additional features are added to the coupon:
|
230 |
-
Restrict by shipping method, restrict by payment method, restrict by a combination of products.
|
231 |
-
|
232 |
-
|
3 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=5T9XQBCS2QHRY&lc=NL&item_name=Jos%20Koenis&item_number=wordpress%2dplugin¤cy_code=EUR&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted
|
4 |
Tags: woocommerce, coupons, discount
|
5 |
Requires at least: 4.0.0
|
6 |
+
Tested up to: 4.5.2
|
7 |
+
Stable tag: 2.3.3
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
15 |
"WooCommerce Extended Coupon Features" adds functionality to the WooCommerce coupons and allows for automatic discount rules.
|
16 |
Very easy to use, the functionality is conveniently integrated to the WooCommerce Edit Coupon panel.
|
17 |
|
18 |
+
Compatible with WooCommerce 2.5.5. Backwards compatible with older WooCommerce versions (2.2.8 confirmed).
|
19 |
|
20 |
Full documentation is available at [www.soft79.nl](http://www.soft79.nl/documentation/wjecf).
|
21 |
|
24 |
* Restrict coupon by shipping method,
|
25 |
* Restrict coupon by payment method,
|
26 |
* Restrict coupon by a combination of products
|
27 |
+
* Restrict coupon to certain customer roles
|
28 |
* (PRO) Add *free products* to the customer's cart based on coupon rules
|
29 |
* (PRO) Allow a cart discount to be applied based on quantity / subtotal of matching products
|
30 |
* (PRO) Set Auto Coupon priorities (Useful for 'Individual Use Only'-coupons)
|
64 |
|
65 |
1. Create a coupon through the 'Coupons' menu in WooCommerce. TIP: Name it auto_'whatever' so it will be easy to recognize the auto coupons
|
66 |
2. Setup the coupon as you'd normally would. Make sure you enter a description for the coupon and set usage restrictions
|
67 |
+
3. In the "Miscellaneous" tab, check the box *Auto coupon*
|
68 |
4. Voila! That's it
|
69 |
|
70 |
== Frequently Asked Questions ==
|
106 |
|
107 |
== Changelog ==
|
108 |
|
109 |
+
= 2.3.3 =
|
110 |
+
* FIX: limit_usage_to_x_items: Removed call to get_discount_amount from coupon_has_a_value; it is redundant and caused limit_usage_to_x_items to change
|
111 |
+
* (PRO) FEATURE: Filters wjecf_free_product_amount_for_coupon, wjecf_bogo_product_amount_for_coupon and wjecf_set_free_product_amount_in_cart
|
112 |
+
* (PRO) FEATURE: Keep track of by-url-coupons (?apply_coupon=) and apply when they validate
|
113 |
+
* (PRO) FIX: Experimental feature 'Allow discount on cart with excluded items' didn't work since 2.2.3
|
114 |
+
* (PRO) FIX: Invalid free product quantity applied when using both BOGO and FREE products in a single coupon.
|
115 |
+
* (PRO) FIX: limit_usage_to_x_items: Possible wrong discount on combination of limit_usage_to_x_items and _wjecf_apply_discount_to
|
116 |
+
|
117 |
= 2.3.2 =
|
118 |
* FEATURE: Display custom error message when coupon is invalidated by this plugin
|
119 |
* FIX: apply_coupon redirected to wrong url when home_url contained a subdirectory
|
231 |
|
232 |
= 1.0 =
|
233 |
* First version ever!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
woocommerce-jos-autocoupon.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Plugin Name: WooCommerce Extended Coupon Features
|
4 |
* Plugin URI: http://www.soft79.nl
|
5 |
* Description: Additional functionality for WooCommerce Coupons: Apply certain coupons automatically, allow applying coupons via an url, etc...
|
6 |
-
* Version: 2.3.
|
7 |
* Author: Jos Koenis
|
8 |
* License: GPL2
|
9 |
*/
|
@@ -18,6 +18,7 @@ if ( ! function_exists( 'wjecf_load_plugin_textdomain' ) ) {
|
|
18 |
require_once( 'includes/wjecf-controller.php' );
|
19 |
require_once( 'includes/abstract-wjecf-plugin.php' );
|
20 |
require_once( 'includes/admin/wjecf-admin.php' );
|
|
|
21 |
//Optional
|
22 |
@include_once( 'includes/wjecf-autocoupon.php' );
|
23 |
@include_once( 'includes/wjecf-wpml.php' );
|
@@ -50,9 +51,16 @@ if ( ! function_exists( 'wjecf_load_plugin_textdomain' ) ) {
|
|
50 |
}
|
51 |
}
|
52 |
|
|
|
|
|
|
|
|
|
|
|
|
|
53 |
|
54 |
$wjecf_extended_coupon_features = WJECF();
|
55 |
WJECF()->add_plugin('WJECF_Admin');
|
|
|
56 |
WJECF()->add_plugin('WJECF_AutoCoupon');
|
57 |
WJECF()->add_plugin('WJECF_WPML');
|
58 |
WJECF()->add_plugin('WJECF_Pro_Free_Products');
|
3 |
* Plugin Name: WooCommerce Extended Coupon Features
|
4 |
* Plugin URI: http://www.soft79.nl
|
5 |
* Description: Additional functionality for WooCommerce Coupons: Apply certain coupons automatically, allow applying coupons via an url, etc...
|
6 |
+
* Version: 2.3.3
|
7 |
* Author: Jos Koenis
|
8 |
* License: GPL2
|
9 |
*/
|
18 |
require_once( 'includes/wjecf-controller.php' );
|
19 |
require_once( 'includes/abstract-wjecf-plugin.php' );
|
20 |
require_once( 'includes/admin/wjecf-admin.php' );
|
21 |
+
require_once( 'includes/admin/wjecf-admin-auto-upgrade.php' );
|
22 |
//Optional
|
23 |
@include_once( 'includes/wjecf-autocoupon.php' );
|
24 |
@include_once( 'includes/wjecf-wpml.php' );
|
51 |
}
|
52 |
}
|
53 |
|
54 |
+
/**
|
55 |
+
* Get the instance if the WJECF_Admin plugin
|
56 |
+
*/
|
57 |
+
function WJECF_ADMIN() {
|
58 |
+
return WJECF()->get_plugin('WJECF_Admin');
|
59 |
+
}
|
60 |
|
61 |
$wjecf_extended_coupon_features = WJECF();
|
62 |
WJECF()->add_plugin('WJECF_Admin');
|
63 |
+
WJECF()->add_plugin('WJECF_Admin_Auto_Upgrade');
|
64 |
WJECF()->add_plugin('WJECF_AutoCoupon');
|
65 |
WJECF()->add_plugin('WJECF_WPML');
|
66 |
WJECF()->add_plugin('WJECF_Pro_Free_Products');
|