{"id":262069,"date":"2025-12-03T15:14:08","date_gmt":"2025-12-03T15:14:08","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/affiliate-product-highlights\/"},"modified":"2025-12-03T15:13:40","modified_gmt":"2025-12-03T15:13:40","slug":"productframe","status":"publish","type":"plugin","link":"https:\/\/ceb.wordpress.org\/plugins\/productframe\/","author":16079333,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"0.5.1","stable_tag":"0.5.1","tested":"6.9.4","requires":"6.0","requires_php":"8.0","requires_plugins":null,"header_name":"ProductFrame \u2013 Curated products from affiliate feeds","header_author":"Koen Reus","header_description":"Plugin to display products from various affiliate network product feeds in WordPress","assets_banners_color":"88acc9","last_updated":"2025-12-03 15:13:40","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/koenreus.com","header_plugin_uri":"https:\/\/github.com\/koen12344\/productframe","header_author_uri":"https:\/\/koenreus.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":155,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","changelog"],"tags":{"0.5.1":{"tag":"0.5.1","author":"koen12344","date":"2025-12-03 15:13:40"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3409725,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3409725,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3409725,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3409725,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.5.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3409725,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3409725,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3409725,"resolution":"3","location":"assets","locale":""}},"screenshots":{"1":"Plugin in action on the frontend","2":"Display relevant affiliate products within content","3":"Make selections of products"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[5420,369,252,702,5401],"plugin_category":[35,45],"plugin_contributors":[156032],"plugin_business_model":[],"class_list":["post-262069","plugin","type-plugin","status-publish","hentry","plugin_tags-adtraction","plugin_tags-affiliate","plugin_tags-feed","plugin_tags-products","plugin_tags-tradetracker","plugin_category-advertising","plugin_category-ecommerce","plugin_contributors-koen12344","plugin_committers-koen12344"],"banners":{"banner":"https:\/\/ps.w.org\/productframe\/assets\/banner-772x250.png?rev=3409725","banner_2x":"https:\/\/ps.w.org\/productframe\/assets\/banner-1544x500.png?rev=3409725","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/productframe\/assets\/icon-128x128.png?rev=3409725","icon_2x":"https:\/\/ps.w.org\/productframe\/assets\/icon-256x256.png?rev=3409725","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/productframe\/assets\/screenshot-1.png?rev=3409725","caption":"Plugin in action on the frontend"},{"src":"https:\/\/ps.w.org\/productframe\/assets\/screenshot-2.png?rev=3409725","caption":"Display relevant affiliate products within content"},{"src":"https:\/\/ps.w.org\/productframe\/assets\/screenshot-3.png?rev=3409725","caption":"Make selections of products"}],"raw_content":"<!--section=description-->\n<p>With the <strong>ProductFrame<\/strong> plugin for WordPress you can create beautiful in-content sections showing relevant products from product feeds of various affiliate networks.<\/p>\n\n<p>Networks currently supported:<\/p>\n\n<ul>\n<li>AdTraction<\/li>\n<li>TradeTracker<\/li>\n<li>Daisycon<\/li>\n<\/ul>\n\n<p><strong>Features:<\/strong><\/p>\n\n<ul>\n<li><strong>Automatic product feed import<\/strong>: Product feeds are updated daily for up-to-date pricing and product availability<\/li>\n<li><strong>Cloaked links<\/strong>: Affiliate links are redirected through your own website URL<\/li>\n<li><strong>Fast &amp; efficient<\/strong>: Product data is stored locally, product images are sideloaded and optimized<\/li>\n<li><strong>Flexible shortcode<\/strong>: Show random products, specific products, search by (partial) product name<\/li>\n<\/ul>\n\n<p>See the plugin in action <a href=\"https:\/\/projectplatenspelers.nl\/\">here<\/a>.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Download <a href=\"https:\/\/github.com\/koen12344\/productframe\/releases\/latest\">the latest version<\/a><\/li>\n<li>Upload the plugin through 'Plugins' &gt; 'Add New' &gt; 'Upload plugin' in your WordPress Dashboard, or upload manually through FTP<\/li>\n<li>Add one or more affiliate product feeds through 'ProductFrame' &gt; 'Feeds'<\/li>\n<li>Place the [productframe] shortcode wherever you want to display your affiliate products using attributes below<\/li>\n<\/ol>\n\n<h3>[productframe] shortcode<\/h3>\n\n<p>Displays a selection of products based on the supplied attributes<\/p>\n\n<h4>Supported shortcode attributes<\/h4>\n\n<ul>\n<li><code>selection<\/code>: An ID of a selection of products generated through 'ProductFrame' &gt; 'Selections'<\/li>\n<li><code>limit<\/code>: The amount of products that should be displayed (default: 6)<\/li>\n<li><code>product_ids<\/code>: Display specific product IDs. Separated by a comma, e.g. 123,323,312<\/li>\n<li><code>search<\/code>: Show only products containing this word or sentence in their title<\/li>\n<li><code>random<\/code>: Randomize the results<\/li>\n<\/ul>\n\n<h4>Examples<\/h4>\n\n<ul>\n<li><code>[productframe selection=107]<\/code>: Show products from the selection with ID 107<\/li>\n<li><code>[productframe selection=107 limit=1 random=1]<\/code>: Show a single random product from the selection with ID 107<\/li>\n<li><code>[productframe product_ids=\"2304,2306,2307,665\"]<\/code>: Show products with specific IDs<\/li>\n<\/ul>\n\n<h3>[prfr-link] shortcode<\/h3>\n\n<p>Generates an anchor link to a specific product<\/p>\n\n<h4>Supported shortcode attributes<\/h4>\n\n<ul>\n<li><code>product_id<\/code>: The ID of the product that should be linked<\/li>\n<\/ul>\n\n<h4>Examples<\/h4>\n\n<ul>\n<li><code>[prfr-link product_id=67]<\/code>: Generate a link to product ID 67, anchor text will be the product title<\/li>\n<li><code>[prfr-link product_id=67]Custom anchor[\/prfr-link]<\/code>: Generate a link to product ID 67, anchor text will be <code>Custom anchor<\/code><\/li>\n<\/ul>\n\n<h3>Styling<\/h3>\n\n<p>The plugin comes with minimal styling that can be easily adjusted with some custom CSS.<\/p>\n\n<ul>\n<li><code>prfr-products-multiple<\/code> (div): Wrapper class around all products (if the <code>limit<\/code> parameter is higher than 1)<\/li>\n<li><code>prfr-product<\/code> (div): Product wrapper class<\/li>\n<li><code>prfr-product-image<\/code> (div): Product image wrapper (contains a &gt; img)<\/li>\n<li><code>prfr-product-description<\/code> (div)<\/li>\n<li><code>prfr-product-price<\/code> (div)<\/li>\n<li><code>prfr-button-link<\/code> (a): The call-to-action button<\/li>\n<\/ul>\n\n<p>Colors can be adjusted by overriding the default CSS variables:<\/p>\n\n<ul>\n<li><code>--prfr-button-text-color<\/code>: Button text color (default: #fff)<\/li>\n<li><code>--prfr-button-background-color<\/code>: Button background color (default: #611431)<\/li>\n<li><code>--prfr-button-hover-color<\/code>: Button hover color (default: #363636)<\/li>\n<li><code>--prfr-product-border-color<\/code>: Color for the border around the individual products<\/li>\n<\/ul>\n\n<!--section=changelog-->\n<h4>0.5.1<\/h4>\n\n<ul>\n<li>Fix: MySQL error when search query returns no results<\/li>\n<\/ul>\n\n<h4>0.5.0<\/h4>\n\n<ul>\n<li>Change: Renamed plugin to \"ProductFrame\"<\/li>\n<li>Improved: Link shortcode returns product name when no anchor text is supplied<\/li>\n<\/ul>\n\n<h4>0.4.5<\/h4>\n\n<ul>\n<li>Added: Allow filtering by whether products are on sale<\/li>\n<li>Improved: [#28] Display discounted price in selection creator<\/li>\n<li>Improved: Show 404 error page when redirecting to product that doesn't exist<\/li>\n<li>Fix: Incorrect cache key causing wrong selection to be displayed<\/li>\n<li>Fix: [#30] Selection creator fields getting duplicated when changing order<\/li>\n<\/ul>\n\n<h4>0.4.4<\/h4>\n\n<ul>\n<li>Added: Dutch translations<\/li>\n<li>Fix: Translations not loaded on product selection metabox<\/li>\n<\/ul>\n\n<h4>0.4.3<\/h4>\n\n<ul>\n<li>Improved: Various improvements to pass WP Plugin Check<\/li>\n<li>Fix: [#29] Products with ASCII characters in slug not properly redirected<\/li>\n<li>Fix: Images not loading for some feeds in the selection creator<\/li>\n<\/ul>\n\n<h4>0.4.2<\/h4>\n\n<ul>\n<li>Fix: [#25] GitHub updater not working<\/li>\n<\/ul>\n\n<h4>0.4.1<\/h4>\n\n<ul>\n<li>Fix: Duplicated products when images URLs in feed are changed<\/li>\n<\/ul>\n\n<h4>0.4.0<\/h4>\n\n<ul>\n<li>Added: [#16] Function to clear product thumbnail cache<\/li>\n<li>Added: [#7] Allow filtering product selections by feed<\/li>\n<li>Improved: [#5] Retain selection view settings in user memory<\/li>\n<li>Improved: [#4] Make \"Selections\" primary menu item<\/li>\n<li>Improved: [#21] Allow searching products by EAN\/SKU in selection creator<\/li>\n<li>Improved: [#8] Do not show products that are no longer available in dynamic shortcodes<\/li>\n<li>Fix: [#13] Incorrect thumbnail cropping on non-square product images<\/li>\n<li>Fix: [#19] Descriptions showing html characters in selection creator<\/li>\n<li>Fix: [#18] Selection showing all products when filtering by Selected = Yes, despite none being selected<\/li>\n<li>Fix: [#12] Fatal error when a selection with no products is referenced<\/li>\n<li>Fix: [#10] Not all products being imported from TradeTracker feeds<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Added: Uninstall function<\/li>\n<li>Added: Daisycon support<\/li>\n<li>Added: Shortcode for direct links to products<\/li>\n<li>Improved: SQL logic<\/li>\n<\/ul>\n\n<h4>0.1.1<\/h4>\n\n<ul>\n<li>Added: Product ID and Feed in selection section<\/li>\n<li>Added: AdTraction sale price<\/li>\n<li>Fix: product_ids parameter<\/li>\n<li>Fix: selection logic<\/li>\n<li>Fix: AdTraction prices above 999<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial public alpha release<\/li>\n<\/ul>","raw_excerpt":"A beautiful way to display products from affiliate network product feeds on your website. Currently supports Daisycon, TradeTracker and AdTraction.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ceb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/262069","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ceb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ceb.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ceb.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=262069"}],"author":[{"embeddable":true,"href":"https:\/\/ceb.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/koen12344"}],"wp:attachment":[{"href":"https:\/\/ceb.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=262069"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ceb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=262069"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ceb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=262069"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ceb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=262069"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ceb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=262069"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ceb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=262069"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}