Plugin info
Maintenance & Compatibility
Maintenance score
Actively maintained • Last updated 33 days ago • 1 reviews
Is Buythis Shortcode abandoned?
Likely maintained (last update 33 days ago).
Compatibility
Similar & Alternatives
Explore plugins with similar tags, and compare key metrics like downloads, ratings, updates, support, and WP/PHP compatibility.
Description
Buythis.co.za is an online store that specializes in machinery sales.
Website
Visit the plugin website for online documentation.
Third party service description
This plugin provides a shortcode to interface between WordPress and Buythis.co.za.
This plugin relies on Buythis.co.za as a third party service, in order for the plugin to work.
The reason for using the third party service, is to access JSON product data from the Buythis.co.za store.
No personal data is collected during the process.
As can be seen in the plugin’s source code, this plugin only uses information that is directly and knowingly provided by the user themselves, i.e. the sku, variant, value, search, format and affiliate shortcode parameters.
No other data of any kind, whatsoever, is used by this plugin, other than the parameters provided by the user to the plugin shortcode.
The only data currently submitted to the third party service via HTTP is the sku parameter, or the search and format parameters, depending on which of those parameters are explicitly provided to the shortcode.
Links to the third party service:
https://buythis.co.za
https://data.buythis.co.za
Data definition
AWS S3 is used to serve cached data when one of the above primary third party service data sources are not available.
Data received by the plugin via HTTP, is cached in the site’s local WordPress database, and deleted again when the plugin is uninstalled.
Third party services’ terms of use and privacy policies:
https://buythis.co.za/terms
https://buythis.co.za/privacy
Usage
To use the Buythis Shortcode plugin:
[buythis sku="sku" variant="variant" value="path" affiliate="affiliate_id"]
or
[buythis sku="sku" variant="variant" value="path" affiliate="affiliate_id"][/buythis]
The provided affiliate_id is used to generate revenue for a given affiliate, by using this plugin’s [buythis] shortcode on their WordPress site.
A site-wide default Affiliate ID can be configured on the Buythis Shortcode settings page, that will be used as a fallback value for the affiliate parameter, should one not be provided. This makes it easy to change the affiliate ID for a site, and prevents the need to duplicate and maintain the affiliate parameter in each usage of the shortcode.
Depending on the path specified in the value parameter, one or more API calls will be made to the following endpoints (sources), where [sku] is the provided sku parameter:
Source
Endpoint URL
Examplevalueparameterdata
https://data.buythis.co.za/product/[sku].json
data.name.fulldisplay
https://data.buythis.co.za/product/[sku]/display.json
display.contentprice
https://data.buythis.co.za/product/[sku]/price.json
price.2024-01-01.saleother
Dynamic fixed data
other.affiliate
The API response from a source is JSON-decoded, and the path specified by the value parameter is extracted from the JSON response.
Thus, to extract custom JSON data from a source’s API response, use a custom path in the value parameter to specify (describe) the source API and the JSON data to extract from it, as shown in each example value parameter above.
Product listing usage
[buythis search="RDWorks_Upgrade" format="cart"]
[buythis search="sku1, sku2, sku3" format="list"]
[buythis search="sku1|sku2.variant sku3" format="table1"]
An HTML-formatted table of products will be generated, as per the specified format parameter, and any product whose SKU matches either RDWorks_Upgrade, sku1, sku2, sku2.variant, or sku3, will be displayed in the generated table.
Generated listing table format definitions:
Table format
Generated table column headerscart
Select, Image, SKU (and Name), Price, Quantitylist
Image, Description, Price (incl), Buytable1
Image, SKU, Description, Price (VAT Incl.), Buy
Usage with WordPress Ajax
To render [buythis sku="sku" variant="variant" value="price" search="search" format="format" affiliate="affiliate_id"][/buythis] dynamically using jQuery:
> jQuery.post(
> ‘/wp-admin/admin-ajax.php’,
> {
> action: ‘buythis_shortcode_ajax’,
> _ajax_nonce: ”,
> sku: ‘sku’,
> variant: ‘variant’,
> value: ‘price’,
> search: ‘search’,
> format: ‘format’,
> affiliate: ‘affiliate_id’
> },
> data => data && jQuery( ‘#buythis_plugin_content’ ).html( data )
> );
>
Shortcuts
The following shortcut value options are available:
| Shortcut | Substituted path (
valueparameter) |
|—————–|———————————————————————————————————-|
|buy|(data.name.full|data.name.simple)|
|name|data.name.full|data.name.simple|
|price|R (data.price.sale|data.price.regular)|
|regular_price|R (data.price.regular|data.price.sale)|
|sale_price|R (data.price.sale|data.price.regular)|Syntax
In order of precedence:
()(round braces) is used to treat a path as a format string, by only evaluating sub-paths in the format string that are contained within round braces, and leaving text in the rest of the format string that are outside round braces, intact. Nested braces, i.e. braces inside braces, are not supported, i.e. a sub-path cannot contain a format string. Round braces can contain shortcuts as sub-paths.|(OR) is to coalesce the first non-null result of a sub-path out of a set of path expressions. A sub-path can be a shortcut, but cannot contain round braces..(period) is the JSON separator in a path.
Installation
Frequently Asked Questions
Is this plugin free to use?
Yes, this plugin is free to use. The source code is also available for you to examine what the plugin does and how it works.
Review feed
Screenshots
Changelog
1.7
- Replaced “Invalid Value Setting” output with HTTP 503.
1.62
- Cache data schema for 7 days instead of 7 hours.
1.61
- Respond with HTTP 503 if wp_remote_retrieve_body(…) does not return valid JSON.
1.5
- Tested on WordPress 6.0.
1.4
- Allow shortcode to be used multiple times with different SKU on the same post.
1.3
- Added settings page.
1.2
- 15% VAT is added to price data received from sources, since the prices are VAT exclusive.
1.1
- “Affiliate code” changed to “Affiliate ID”.
- Added more source endpoints for use in the “value” parameter.
- Added more shortcuts.
- Added format string (round brace) syntax.
- Added OR (pipe) syntax.
1.0
- Initial release.