I am trying to find a way to have a link to a specific product variation.
I thought I had it solved with this plugin…
https://wordpress.org/plugins/woocommerce-direct-variation-link/
However the I have 2 word product attribute names and can’t seem to get it to work? I put _, -, & and + between the 2 words but not go.
Here is the doc…In my case I would have “color style” instead of just “color”
mysite.com/product/happy-ninja/?color=blue
mysite.com/product/happy-ninja/?color=blue&size=small (additional variations should be separated by ‘&’)
mysite.com/product/happy-ninja/?color=blue+green (where the variation value is “Blue Green” with the space replaced by a ‘+’)
Further to the last poster, I couldn’t get his code to work properly, but I did discover that WooCommerce generates these for the Cart most of the time:
It should have a suffix like this:
http://website.com/product/product-name/?attribute_colours=Grey
Note that
colours
is lowercase because it’s the slug whileGrey
is the actual name for the Variation.For spaces in your Variation name, use a
+
instead of the space.For selecting multiple variation attributes, I believe you can just start with
&
and spit the?attribute_[slug]=Variation
again.I think many will search for a solution to link specific variations by a url parameter so here is a longer answer for that topic.
As many others mentioned here, you can access any variation with the attribute parameter. The way you choose an variation on the product details page is an select menu. The name attribute of that select is the parameter name and the options value attribute is the parameter value. Here is an example:
If you want to link the highlighted variation your link will be like
https://example.com/some_product/?attribute_pa_size=small
Of course you can add multiple parameters like
https://example.com/some_product/?attribute_pa_size=small&attribute_pa_color=red
The thing is, using dev tools to dig out these informations is not a very convenient solution. Down below is a code snippet you can add to your themes functions.php (or inside a simple one-file-plugin) that shows a variation-permalink in the wordpress admin of the specific product variation tab/accordeon.
I have tried so many solutions and plugins myself, but i found a way to easily do it without a plugin. I’m not sure if this worked back in oktober 2015, but it does work now.
I have explained it in this youtube video https://www.youtube.com/watch?v=Y_hMI4bXN6A
What you want to do is add something like ‘/?attribute_color=red’ behind your product.
However what i found out by trial and error is what matters is the type of attribute you use.
You can add a attribute in 2 ways, a pre-made one (text/select) or a custom attribute. Linking directly with this method only works if you create a custom product attribute.
For it to work you have to pay attention if you used capitol letters or not. For the name of the custom product attribute it wont matter if you use capitols in the backend (as long as you dont use theme in the url). For the values however you can only use normal letters and no capitols, both in the backend as in the url itself.
Example
Name: Color
Values: red | Black, green
I have explained it in this youtube video https://www.youtube.com/watch?v=Y_hMI4bXN6A
You can just:
WooCommerce handles the rest; adding the correct parameters to the url.
I am using a plugin Variation Swatches for WooCommerce so I am not sure if this is core wordpress / woocommerce functionality or not.
What I did was open one of my products and in “”Product data” went to “Linked Products” tab and linked one of my variations to the product. Updated and went to the product page. After clicking on the linked product I got url that looks like this:
following
?attribute_pa_
is my attribute name slug (kids-size) and following=
is slug for the single attribute slug (27, 28, blue, red, navy …).As you can see it works for multiple attributes in url.
If you don’t know your slugs, just link your variation product to another and copy the link.
You can create direct links to variants in any case, meaning both with variants using custom attributes and variants using predefined attributes.
There is just a slight difference in the URL parameter you need to append to the URL.
Examples:
Custom attribute variant URL:
Predefined attribute variant URL:
The only difference is “pa_”.
Note: The question is quite old, but I got here and didn’t find a full answer, so figure I’d add it for others to benefit from.
I have not tested this, but try replacing your space in your variation name to %20 which is the url-encoded version of the space character.
Another easy way to get the links without taking time to add then copy from cart is to export the product information in XML format then searching for your product in XML file and copying the link needed from there.
You can get the XML format from wordpress admin->tools->export->variables.
Open the file in sublime text 3 program and search by title or post ID.. the URL for variant will be easily found. just found it faster than adding to cart.
Little JS snippet to automatically update the WooCommerce single product page URL with the needed parameters for the active variations’ selection.
Each time the user changes the variation selection, the URL is updated with the new parameters, so on hard refresh the selected variation is displayed.
Also, fast way to get the direct URL to the selected variation.
Paste it into your browser console and run it. Or use it in your theme/plugins.
Paste the below into a new entry of your browser’s bookmarks bar and click on it on the given WC single product page:
https://gist.github.com/devidw/2f674f273fb556cb48c82dc1b70aff25
Simply look at your HTML code of single product page, find your product variable select combo ID and add at he end of URL: ?attribute_YOUR_ID=YOUR_VALUE
You can use combinations if you have multiple variable options, separate them with &
example: