Mark-Tomlinson / markup-by-attribute-for-woocommerce

Price markup by attribute term for WooCommerce
GNU General Public License v3.0
3 stars 3 forks source link

=== Markup by Attribute for WooCommerce ===

Plugin Name: Markup by Attribute for WooCommerce Description: This plugin adds product variation markup by attribute to WooCommerce -- the ability to add a markup (or markdown) to an attribute term and have that change the regular and sale price of the associated product variations. Plugin URI: https://wordpress.org/plugins/markup-by-attribute-for-woocommerce/ Tags: WooCommerce, Attribute, Price, Variation, Markup Author: MarkTomlinson Contributors: MarkTomlinson Donate link: https://www.paypal.me/MT2Dev/5 License: GPLv3 License URI: https://www.gnu.org/licenses/gpl-3.0.html Version: 3.14.2 Build: 202440.03 Stable tag: trunk Tested up to: 6.6.2 Requires at least: 4.6 PHP tested up to: 8.3.12 Requires PHP: 5.6 WC tested up to: 9.3.3 WC requires at least: 3.0 MySQL tested up to: 8.0.39

This plugin adds product variation markup by attribute to WooCommerce and adjusts product variation regular and sale prices accordingly.

== Description ==

= Varying Prices on Product Variations is Tedious and Error-Prone =

Want to add $5 to every blue product you sell? Maybe you sell jewelry with birthstones, and some stones just cost more than others. If all “X-Large” products cost 7.5% more, you have to manually calculate and change every “X-Large” variation of every product.

= Markup by Attribute Adds 'Markup' to Attribute Terms =

Markup by Attribute solves this problem by allowing you to add a markup (or markdown) to global attribute terms. If the attribute is 'color', then Markup by Attribute allows you to add “+5" to Blue while leaving Green and Yellow alone. When you set regular and sale prices, every blue product will be $5.00 more.

Markup by Attribute:

== Installation ==

= In this section: =

= Manual Installation =

  1. Download the Markup by Attribute for WooCommerce ZIP file.

  2. Unzip the plugin files to the /wp-content/plugins/markup-by-attribute-for-woocommerce directory.

  3. Activate the plugin through the WordPress Plugins page.

= Automated Installation =

  1. Locate the Markup by Attribute for WooCommerce plugin using the search box on the in WordPress PluginsAdd New page.

  2. Install the plugin using the [Install] button.

  3. The [Install] button will change to an [Activate] button. Use it to activate the plugin.

= Using Markup by Attribute for WooCommerce = (Detailed instructions can be found at Markup by Attribute Wiki.)

NOTE: These instructions assume you are familiar with WooCommerce global Product Attributes and with WooCommerce Product Variations. If not, you may want to review the WooCommerce documentation on Product Attributes and Variable Products.

Three Easy Steps

  1. While creating new global attribute terms or editing existing ones, add the markup.
    • If the option needs a markup, put the amount of the markup in the term’s Markup field on either the Add new attribute panel or the Edit attribute panel.
    • Examples of valid values include: ‘-5’, ‘5.95’, ‘+5.678’, ‘7.5%’, and ‘-12%’.
  2. Create product variations as you normally would.
    • Markup by Attribute requires variable products because it changes the price of each variation.
    • Using Create variations from all attributes is the easiest way to ensure you have all combinations.
    • Do not have a variation with “Any” in an attribute with a markup because WooCommerce will choose the “Any” variation regardless of others that may exist. So, if XX-Large is 5% more, you cannot have one variation for “XX-Large” and another for “Any size” to cover the rest because WooCommerce assumes “Any size” includes “XX-Large”.
  3. Use the Set regular price and Set sale price bulk edit functions as you normally would. (NOTE: If you’ve already set the prices before installing Markup-by-Attribute, you will need to do it again to apply the markup).
    • The markup will be applied to the price according to the attribute terms associated with the variation.
    • A description of the markup will be added to the variation description.
      Product Price 18.95
      Add 2.00 for Logo
    • TIP: If you change the markup later, repeat this step to recalculate the markup for this product. Or do not repeat the step to leave the previous markups unchanged.
    • TIP: Always set the regular price before setting a sale price. Percentage markups are calculated on the regular price, so they cannot be applied to a sale price if the regular price has not been set.

== Frequently Asked Questions ==

= If I change the markup for an attribute, how will product prices change? =

Markup by Attribute works within the framework provided by WooCommerce and sets product variation markups (or markdowns) during the Set regular price and Set sale price actions. Therefore, you must locate the products affected by this change and reset the regular and sale prices.

= It's not working. Why? =

When I get this question, it is usually because people want the prices to change as soon as they add or adjust a markup. The way Markup by Attribute was built, however, requires that you run the Set regular prices function for the variations.

If you've used Set regular pricesand it still doesn't update the prices properly, you may have a variation with an “Any” attribute. If you have six sizes, for instance, but you have one product variation with “Any size”, then WooCommerce will pick that one. The important take-away here is that you shouldn't have a variation with “Any attribute”, if that attribute has a markup.

If it's neither of these things, please check the support forums.

= What if I change an attribute's markups but do not want to change products marked up previously? =

Then do nothing. Prices, descriptions, and option drop-downs for products will remain at whatever value they were set to last time you ran the Set regular price or Set sale price bulk variation activities.

= Does this support languages other than English? =

Yes. However, the developer only speaks American English. I can provide 'Google Translate' versions of other languages, but I would prefer it if a native speaker translated the text. The .POT file is found in the /languages folder of the plugin. If you don't have access to your server, you can also find it on GitHub.

What's a .POT file? If you'd like to help but don't know how to use a template file, don't worry. A .POT file is a text file that contains all the English phrases found in Markup-by-Attribute. You can simply open it and translate what you read there. Send me the translations and I will incorporate them in the next release.

Many thanks to Zjadlbymcos on GitHub for his Polish Translation and @silentstepsch for several variations of German.

= I'd like to donate. =

Thanks! The donation button assumes $5.00 USD. But please don't hesitate to adjust that amount up or down as you feel it's appropriate. I'm a retired guy who's living off his savings, so every bit helps.

If you use Markup by Attribute and want to see me continuing support for it, I encourage you to encourage me with a small donation.

== Screenshots ==

  1. Note the addition of the “Markup (or markdown)” field on the bottom of the Add new *attribute* panel of the attribute editor.
  2. Note the addition of the “Markup (or markdown)” field on the bottom of the Edit *attribute* screen of the attribute editor.
  3. The regular price is $18.95. Markup by Attribute added $6 for a logo and $1.42 for extra large.
  4. The customer sees the full range of sale prices available and how much each option costs, plus a clear description of the breakdown.
  5. Markdowns (negative markups) can be used as well.
  6. Markups are applied to sale prices just as they are with regular prices.
  7. The settings page allows configuration of how the markup is displayed.

== Changelog ==

= 3.14.2 = Build 202440.03

= 3.14 = Build 202440.01

= 3.13.2 = Build 202428.02

= 3.13.1 = Build 202428.01

= 3.12.2 = Build 202425.01

= 3.12.1 = Build 202414.01

= 3.12 = Build 202414.01

= 3.11.3 = Build 202343.01

= 3.11.2 = Build 202332.01

= 3.11.1 = Build 202308.01

= 3.11.0 = Build 202245.01

= 3.10.5 = Build 202208.01

= 3.10.4 = Build 202207.01

= 3.10.3 = Build 202205.01

= 3.10.1 = Build 202152.01

= 3.10 = Build 202152.01

= 3.9.6 = Build 202113.02

= 3.9.5 =

= 3.9.4 =

= 3.9.3 =

= 3.9.2 =

= 3.9.1 =

= 3.9 =

= 3.8 =

= 3.7 =

= 3.6 =

= 3.5 =

= 3.4 =

= 3.3. =

= 3.2 =

= 3.1 =

= 3.0 =

= 2.5 =

= 2.4 =

= 2.3 =

= 2.2 =

= 2.1 =

= 2.0 =

= 1.3.2 =

FIX: Eliminate bug where default variation options were not being selected and Choose an Option was always shown.

= 1.3.1 =

FIX: Remove error_log() statement accidentally left in.

= 1.3 =

= 1.2.0 =

= 1.1.1 =

= 1.1 =

= 1.0 =

== Upgrade Notice ==

= 3.11 =

Ensured compatibility with current versions of WordPress, WooCommerce, and PHP. Resolved a PHP 'depreciation' warning.

Fixed a bug where Markup-by-Attribute would get confused about the decimal separator because the server and WooCommerce localization settings conflict.

= 3.9 =

Added a new feature that allows Markup-by-Attribute to add the markup to the name of the option. This is useful when the dropdown box has been replaced by color swatches, checkboxes, or some other selector. As long as the name of the option is displayed (for instance, when the cursor hovers over it), then the markup will be seen by your customer.

Fixed a bug where Markup-by-Attribute would overwrite the options' selector for some themes and other plugins. This occurred if the theme or plugin provided changed the function of the options' selector (for instance, to color swatches), and did not code it so that they take precedence.

= 1.3.1 =

= 1.2.0 =

= 1.1.1 =

Prevents null prices (due to an apparent bug in WooCommerce sale_price) from being adjusted with a markup.

= 1.1 =

= 1.0 =

Initial version