WordPress.org

Ready to get started?Download WordPress

Plugin Directory

Amazon Link

This plugin enables you to put Amazon product links, images and bespoke templates into your site's Pages, Posts, Widgets and Templates.

I've tried the plugin and it doesn't do what I want, help?

If you think the plugin doesn't work, please try contacting me and I will endeavour to help. You can either start a forum topic on the WordPress site or leave a comment on my site on the plugin page Amazon Link Page.

Where do I enter my Amazon Affiliate/Associate IDs? The site owner can enter their Affiliate IDs on the Amazon Link > Associate IDs page in the 'Amazon Tracking ID Channels' section. Select the 'Default' Channel and enter your IDs for all the locales in which you have registered.

Optionally any user of your site (including the owner/administrator) can also add their Affiliate IDs to their User Profile. However it is recommended that the Affiliate IDs in the default channel as set up, as some sections of the site (e.g. shortcodes inserted in sidebar widgets) do not have an 'author'.

If some of the IDs are not supplied in a User's profile, or in a particular Channel, then the ones in the default channel will be used instead. Only if no IDs exist for a particular locale then the plugin will use its own default IDs.

How do I insert product links into my posts?

The plugin adds a helper tool to the Post and Page administrative pages of your WordPress site that can be used to generate shortcodes easily and quickly.

If you already know the ASIN then simply enter it into the ASIN input and click on 'Send To Editor', this can be used to generate simple text links to products.

If you do not know the ASIN then there is a facility to search Amazon, by ASIN, Index, Product Title and or Product Author/Artist. Use this to find the product you wish to link to on your site. Once found select the appropriate template and other settings and press the 'Insert' button. This will insert the shortcode into your post with all the settings required for the selected template pre-filled. This feature is only available if you have entered your Amazon Web Services access keys in the plugin settings.

If you are using 'live' data then it will only include keywords that must be provided by the author 'text', 'text1', etc. If you are using static data then it will also pre-fill the keywords with the product information retrieved from the Amazon site.

There is also a facility to add cover images from the Amazon items into the local media library as attachments to the post (Press the 'Upload' button). The plugin will always use these local images in preference to ones fetched from the Amazon site. These images or the remote ones hosted on Amazon can be used to insert image or thumbnail links into your posts.

How do I align thumbnails, images or iframes horizontally and make the text wrap around?

If you want images to be displayed side by side and the text to wrap around the Amazon items, then you simply need to take advantage of the built in 'align' classes provided by WordPress.

On the Amazon-Link / Templates Settings page:

  • Find the template you wish to use (e.g. thumbnail),
  • Create a copy of that template and rename it appropriately (e.g. thumbnail left)
  • In the template content find the first element e.g. inside the <div> or <iframe>, either add or update the existing class="..." section to include either 'alignleft', 'alignright' or 'aligncenter' (e.g. <div class="alignleft">).
  • Save the new template and use it for your Amazon Links.

Why do my Kindle products not show any prices? Unfortunately Amazon do not provide any offer prices with any of their Kindle items. Although Amazon frown on putting static price info you could do this by adding &price= to the shortcode, as long as you put the date of the price you should be okay.

In the next version of the plugin I might add an 'unofficial' Kindle price finder.

How do I add the 'Amazon Product Previews' to my posts/templates? The Amazon Product Preview popups are powered by javascript hosted on the Amazon servers, and works in all locales except for Italy and Spain.

However to add the popup to individual posts and pages simply ensure that the 'preview script' template is installed and add the shortcode [amazon template=preview script] to the bottom of your post.

If you wish to add the script to your WordPress theme then you can add the following to the footer.php of the template:

<?php if (function_exists(amazon_shortcode)) echo amazon_shortcode("template=preview script"); ?>

Can I create my own templates for product links?

On the Amazon Link > Templates Settings page there is a section showing all the available templates. Use this to create, delete and copy templates. The template content is based on standard HTML with additional keywords that are surrounded by '%' characters. These keywords are automatically filled in with the relevant Amazon product information.

See the Template Help on the same page for a description of each of the keywords that can be used.

Most of the keywords are self explanatory: '%TITLE%' will expand to be the product's title, '%PRICE%' the formatted product's price, etc.

However links can be created by using the keyword pair '%LINK_OPEN%' and '%LINK_CLOSE%' with the subject of the link being placed between them. For example '%LINK_OPEN%Amazon Product%LINK_CLOSE%'. The link produced will comply with whatever settings you have used, i.e. localised to the user's country or produce a multinational popup, it will also use the appropriate Amazon associate IDs.

There are a number of other keywords that are also localised these include: '%LINK_OPEN%' - as described above, '%TLD%' the Top Level Domain to be used '.co.uk', '.it', '.com', etc.; '%MPLACE%' - the Amazon Market place to use 'GB', 'IT', 'US', etc.; '%CC%' - the localised country code 'uk', 'it', 'us'; '%TAG%' - The amazon associate tag to use.

By specifying the 'Live Data' setting either in the settings page or within the Amazon shortcode the data used to fill the template can be generated when the link is displayed. Or if you prefer to use static data or override some of the template content the keywords can be specified in the shortcode.

There are a number of keywords that are only used for static data, these are '%TEXT%', '%TEXT1%', '%TEXT2%', '%TEXT3%', '%TEXT4%'.

You must ensure that the template type is set correctly when creating the template, it should be one of:

  • Product
  • Multi
  • No ASIN

For most templates this should be 'Product', which is used to create links about a single Amazon product using the ASIN entered in the shortcode.

If the template accepts a list of ASINS (e.g. like the Carousel widget) then the type should be set to 'Multi', and the template should include the keyword '%ASINS%' instead of '%ASIN%'.

If the template does not require an ASIN to be specified then set the type to 'No ASIN', typically used for Banners, Scripts and more general items.

Browse the default included templates to see some examples of how the keywords can be used.

Notes:

Widgets: The Amazon widgets are currently not supported in some locales (Canada, China, Italy and Spain).

Banners: The code provided by Amazon to generate banners is very particular to the locale (e.g. the category specified is in the local language), so these don't tend to display properly when not viewed in the default locale (they drop back to the default Amazon banner).

Can I force a template keyword to a particular locale?

If you want an item in the template to be forced to output information from a specific locale you can apply country modifiers to the template keywords.

For example you wish to show the prices from a number of locales.

This is possible by adding a country modifier to the end of the Template keyword, one of (UK#, CA#, CN#, DE#, ES#, FR#, IN#, IT#, JP#, US#). This can be applied to any of the template keywords.

So %PRICE%UK#, %PRICE%DE#, %PRICE%FR# would generate a list of prices from the UK, Germany and France.

I am displaying a lot of Amazon links on my site, can I speed it up?

If you have a lot of Amazon links displayed this can slow down your site considerably as the plugin needs to retrieve data from the Amazon servers for every link.

One way to improve page performance is to turn on the Amazon Link Cache function provided by the plugin. On the plugin Settings page there is a sub section related to the 'Amazon Data Cache', selecting 'Enable Cache' will install the cache that uses your local database.

Select the maximum time that data should be stored in the cache by updating the 'Max Age' setting, this defaults to 48 hours. After which the information stored is cleared from the cache.

To manually empty the cache simply select 'Flush Cache'.

What templates are included with the plugin? The plugin contains a set of basic templates to show how the keywords can be used. The easiest way to create new ones is to copy one of the existing ones and update it to meet your needs.

Most of these templates were created by using the Amazon Affiliate site, generating the widget or link required then copying the generated output into the 'Template Content' box. Then quickly replacing any of the static data with template keywords, e.g. the product ASIN, Title, etc.

Currently the plugin has default templates for:

  • Thumbnail link
  • Image link
  • Multinational Template
  • Amazon Iframe based Image link
  • Amazon Carousel Widget
  • Amazon My Favourites Widget
  • Amazon MP3 Clips Widget
  • Amazon Enhanced Pop-up Script
  • Amazon Easy Banner
  • Wishlist Template

Bear in mind that the Amazon templates are based on javascript hosted on the Amazon site, as such are often blocked by adblocker software. Also some of these 'Widget Source' based templates are not available in certain locales (Canada, China, Italy and Spain).

The 'Wishlist' template is the default template used for any lists created by shortcodes, as such it must exist. Deleting this template will cause the plugin to recreate any of the default templates that do not exist. This can be used to reset the templates back to their factory settings.

How do I re-install the default templates?

On the Amazon Link > Templates Settings page the plugin provides access to the 'Default Templates'. These are the ones provided by the plugin. If you accidentally delete a template that you still want or have edited one and it stops working, you can use this page to re-install the default templates.

There are two options, either 'Install' which will add the template to your existing list (this creates a new copy of the default template, e.g. 'Thumbnail2' if it already exists). If the plugin detects that the default version has been upgraded then the 'Upgrade' option will be available this which will overwrite any existing template with the same Name with the new version.

If you are viewing your existing installed templates there is also an option to 'Reset' the template back to its default content.

The plugin includes some basic version tracking, based on the Name of the template and the version installed. If you rename the template then it will not be recognised as one of the defaults. The plugin does not track any changes you make to the template, so if you 'Upgrade' or 'Reset' a template your changes will be lost.

Does the plugin support multiple Amazon Tracking IDs?

The plugin allows the site author to create any number of 'Amazon Affiliate Channels' that specify a different set of Affiliate Tracking IDs. This allows the user to monitor how effective particular sections of the site are for generating referrals to Amazon.

The user can generate extra Amazon Tracking IDs by managing their options at Amazon Associates > Your Account > Manage Tracking IDs US, UK.

Then under the Amazon Link Settings page, in the 'Channels' section, create a new Channel and enter the tracking IDs created.

Individual WordPress users can also add their own tracking IDs to their User profile. Any page of post that they are the author of will automatically use their Affiliate IDs (This facility can be disabled on the Amazon Link > Settings Page).

When generating Amazon Link shortcodes, either manually add 'chan=channel_id' to the shortcode or use the drop down selector in the Link Tool to choose one of the available channels. Leave blank to adopt the page author's tracking IDs or use the ones defined in the 'Default' channel.

The plugin also allows Channels to be set up to use different Tags depending upon the posts category, tags, author or type, or randomly use that channel.

Associate ID Priority

If the user specifies a Channel in the Amazon Link shortcode then this will always be used (if it exists).

If the post or page is authored by a user who has specified their own affiliate ids then these will be used next.

Otherwise the Affiliate IDs in the 'default' channel will be used.

If the Channel selected does not contain affiliate IDs for all locales then ones from the 'default' Channel will be automatically inserted. Only if no affiliate IDs are set for a particular locale will the plugin will insert its own ID.

Can I specify different ASINs for different locales?

If you want to provide different ASINs for different locales then this can be done using the shortcode country modifiers .

For example if you want to generate a link for a book and the ASIN for France is '2020479893', the UK is '0340993782' and Germany is '3548602045'. Then putting the following in the shortcode will ensure that any localised links will use the appropriate ASIN.

asin[uk]=0340993782&asin[fr]=2020479893&asin[de]=3548602045

If you have 'live' data enabled then if the link is localised all other aspects (Title, images, etc.) will be generated using the appropriate ASIN.

If the link is localised to a locale that does not have a user specified ASIN then it will use the one from the default locale.

Alternatively if you have 'search link' enabled the plugin will generate a link that will cause Amazon to search for the keywords related to the product rather than a specific ASIN.

Why doesn't the Wishlist function or Search or Live data work?

For these features to work you must have set up an Amazon Web Services account and set the AWS Public and Private key settings to those provided in the AWS->Security Credentials->Access Credentials section.

For the wishlist to work you must also have inserted at least a few links to Amazon products using the [amazon] tag for it to generate a list of related product suggestions.

Can I change the styling of the templates?

If you are using the default templates that came with the plugin then you can either override the default stylesheet or change the templates to use classes and ids from your own/themes stylesheet.

To override the default stylesheet add the file 'user_styles.css' to the wp-content/plugin directory and then go to the Amazon Link > Extras admin page and install the 'Stylesheet' plugin. This will load the user_styles.css file instead of the default Amazon.css file.

The following styles are used in some of the default templates:

  • amazon_container - Encloses whole wishlist.
  • amazon_prod - Encloses each list item.
  • amazon_img_container - Encloses the item thumbnail (link+img)
  • wishlist_image - (Default) Class of the item thumbnail IMG element
  • amazon_text_container - Encloses the item description (Title paragraphs+link + Details paragraphs)
  • amazon_details - Encloses the item details part of the description
  • amazon_price - Spans the item's formatted price.

Are the links localised to match my visitor's country of origin?

The links that are generated can optionally be localised to the Amazon store most likely to be used by the visitor to your site, this is achieved by installing the ip2nation database and enabling 'localise links' option in the plugin settings.

Link Localisation Limitations

The localisation process is far from perfect and authors should be aware of the following limitations:

  • Incorrect nationality detection -

    The database is updated periodically so it will may be slightly out of date and incorrectly detect an visitor's locale. Additionally some people browse through proxies or through their company's firewall which again may confuse the plugin and get the wrong country of origin.

  • Incorrect Amazon site allocation -

    There are only 10 major Amazon sites (UK, France, Germany, Spain, US, Japan, India, Italy, China, Brazil and Canada). So the plugin has to guess where a country's residents are most likely to shop on-line. An alternative is to enable the 'Multinational Link' option, this will enable a small popup for each link allowing the site visitor to choose the most appropriate site (based on locale or language).

  • Product Availability -

    A product that is available in the author's locale may not be available on other Amazon sites. If the live data option is enabled the plugin will display a link to the Amazon site in the author's own locale if the product is not available at the visitor's Amazon store.

  • Product Localisation -

    Some products such as books, DVDs and CDs have unique ASINs for each language, country or region. There currently no facility for the plugin to find the correct product for that visitor. If it is not obvious from the product picture, it is recommended that for these items a note should be displayed that recommends the visitor finds the most appropriate version of the item for their locale. They may be disappointed to buy a book in a language they can not understand!

The plugin includes a tool to install and monitor the status of the ip2nation database. However the installation of the ip2nation database is not validated, it simply downloads the latest database file from ip2nation and zaps it into your WordPress mysql database.

If the file is corrupted or maliciously changed then this operation could completely destroy your sites mysql database, if in doubt manually download the database from ip2nation and check its content, currently it consists of 2 tables ip2nation and ip2nationCountries.

Can you provide a few examples of the shortcodes?

[amazon asin=0893817449&text=Henri Cartier-Bresson]

Will produce a text link to an Amazon Product page:

[amazon asin=0893817449&title=Masters of Photography&template=Thumbnail&live=1]

Will produce a thumbnail image link to an Amazon Product page.

[amazon asin=0893817449,0500410607&template=Iframe Image]

Will produce 2 classic Amazon product links to the specified products.

[amazon asin=0893817449,0500410607,050054199X,0500286426,0893818755,050054333X,0500543178,0945506562&template=Carousel]

Will produce a single Amazon Carousel widget containing all the specified products.

[amazon asin=B0893817449,0500410607&template=Wishlist&live=1]

Will produce a list of the 2 products using data from the reader's local Amazon site.

[amazon asin=1841498955&template=Wishlist Post&product=Book&title=Surface Detail (Culture)&artist=Iain M. Banks&thumb=http://ecx.images-amazon.com/images/I/41n7sphvJpL._SL160_.jpg&image=http://ecx.images-amazon.com/images/I/41n7sphvJpL.jpg&price=£5.30]

Will produce a link using a custom template filled in with the data included in the shortcode.

[amazon asin=1841498955&template=Wishlist Post&live=1&title=My Favourite Book]

Will produce a link using a custom template filled in with live data from the Amazon site, but with the title set by the data included in the shortcode.

[amazon text=Recipe Books&cat=3,10&last=30&wishlist_type=Random]

Produce a wishlist using the default template containing a random selection of products found in the posts in categories 3, 4 and 5.

[amazon cat=local&template=My Favourites&wishlist_type=similar&text=Some Related Products]

Produce an Amazon My Favourites widget containing a selection of related products to those already displayed on the current page.

Requires: 3.3 or higher
Compatible up to: 3.9.1
Last Updated: 2014-6-24
Downloads: 78,146

Ratings

4 stars
4.2 out of 5 stars

Support

10 of 16 support threads in the last two months have been resolved.

Got something to say? Need help?

Compatibility

+
=
Not enough data

4 people say it works.
0 people say it's broken.

100,1,1
100,1,1 100,1,1 100,1,1 100,1,1 33,3,1 100,1,1 100,1,1 100,1,1
100,1,1
100,1,1 100,2,2 100,1,1 100,1,1
100,1,1
100,1,1 100,1,1
100,2,2 100,1,1
100,1,1 100,2,2 100,1,1 100,2,2 100,1,1 50,2,1
100,2,2 100,1,1
100,1,1 50,2,1
100,2,2 100,1,1
100,1,1
100,1,1 100,2,2
100,1,1
100,2,2
100,1,1
100,1,1
50,2,1
100,1,1
100,3,3 50,2,1
67,3,2
100,1,1 100,2,2 100,4,4