=== 7Labs Winery Integration for Commerce7 and Tock === Contributors: dmitrucom Tags: commerce7, winery, wine, tock, meta pixel Requires at least: 6.2 Tested up to: 7.1 Requires PHP: 7.4 Stable tag: 0.1.12 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Commerce7 shop, wine club and reservation widgets and Tock booking widgets for your WordPress site, as blocks and Elementor widgets. == Description == Put your Commerce7 shop, wine club and reservations, and your Tock booking widget, on your WordPress site. Every widget works as a block, an Elementor widget and a shortcode. To connect Commerce7, the plugin only needs your Tenant ID. = Commerce7 = * Commerce7's storefront widgets as blocks and Elementor widgets (the free version of Elementor is enough): collection, buy button, club join button, reservation calendar, newsletter signup, form, personalization block, account link, cart icon, login form and collection list. * Two widgets of our own, built on Commerce7's club join button: a club selector that lets visitors pick one of several clubs, and side-by-side wine club tier cards. * While you edit, each widget shows a small drawing of what it becomes (a wine grid, a buy button, a calendar) in your brand color, instead of an empty box. * Creates the Commerce7 pages (Shop, Wine, Cart, Checkout, Account, Wine Club, Reservations) and the address rules that links like /product/estate-cabernet need. Supports custom routes and Commerce7's ?page= collection paging. * If a Commerce7 page is rebuilt in Elementor or the block editor without the Commerce7 area, the plugin adds that area back at the end of the page, so the shop doesn't go blank. * Tells WP Rocket, LiteSpeed Cache, SiteGround Speed Optimizer and Autoptimize not to combine, defer or delay Commerce7's script, and marks the script so Cloudflare Rocket Loader leaves it alone. * Optional floating cart and account link. * Brand colors, corners and fonts for Commerce7's buttons, links, cart badge and wine page, without CSS. = Wine page SEO = Commerce7 draws each wine in the browser. The page your server sends is the same for every wine, so link previews show the same title and image for every bottle, and the canonical tag points every wine to the same address. * Included: each wine page and collection page gets its own canonical address, and cart, checkout and account pages are kept out of search results. * With the Shopping Feed app connected (see below): each wine page also gets its own title, description, preview image and Product structured data (price, stock, SKU, and GTIN when the wine has one), from the same feed Google and Meta read. * Works on its own or through Yoast SEO, Rank Math and All in One SEO, without printing tags twice. * Add Google and Meta site verification codes without editing theme files. Want to see what Google, Meta and shared links get from your wine pages today? The [wine link preview guide](https://check.wine/guides/wine-link-previews/?utm_source=wordpress.org&utm_medium=referral&utm_campaign=plugin-readme) shows how to test it with free tools. = Tock = * Tock's own booking widget, as a block, Elementor widget and shortcode. It opens Tock's booking window on your site, with Tock's own button colors. * A Tock link button in your brand colors. It opens your Tock page, or one experience on it, in a new tab. * Built a widget in Tock's widget builder? Paste its code once and the Tock Booking Widget uses its settings. * Sends your site's time zone, or one you pick, to Tock's widget. * Tock's script loads only on pages that show the Tock Booking Widget. * Clicks on Tock widgets and link buttons are pushed to the dataLayer as tock_booking_click, for Google Tag Manager. This records the click, not a completed booking. = Ads tracking with 1Pixel = 1Pixel is a separate Commerce7 app by 7Labs, sold on the Commerce7 App Store. Commerce7 tells 1Pixel about each sale, and 1Pixel's server sends it to Meta's Conversions API: online orders and tasting room sales with their order value, wine club sign-ups, Commerce7 reservations, and Tock bookings when Tock syncs them into Commerce7. This plugin turns on 1Pixel's website script (page views, wine views, add to cart and checkout starts) with one setting, or pairs the site through a guided connection that looks for other Meta Pixel and Google Tag Manager code before switching on. No code to paste. = Shopping Feed = AI Visibility & Shopping Feed is a separate Commerce7 app by 7Labs, sold on the Commerce7 App Store. It builds Google Shopping, Meta catalog, Google local inventory, Wine-Searcher and Vivino feeds from your Commerce7 catalog. Connect it here and every wine page carries the same id, price and stock as the feed, which Google Merchant Center and Meta catalogs compare. The plugin also checks that the feed's product links open wine pages on this site. = Switching plugins = Coming from Commerce7 for WordPress? Import its settings and turn it off from the Switch plugins screen. Pages built with its blocks, shortcodes, Elementor widgets, WPBakery elements and Beaver Builder modules keep rendering, and its blocks can be converted so the block editor can edit them. Cornerstone elements need to be rebuilt by hand. Pages built with the block from Tock's own Tock Widget plugin keep working too, and its business name can be imported. This is an independent plugin by 7Labs. It is not made or endorsed by Commerce7 or Tock. == Installation == 1. Install and activate the plugin. 2. Open Winery Integration > Commerce7 and enter your Commerce7 Tenant ID. Commerce7 shows it under Settings > General, in the Tenant field. 3. Build pages with the "Winery (Commerce7 and Tock)" blocks or Elementor widgets. 4. Optional: add your Tock business name on the Tock screen, and connect 1Pixel or the Shopping Feed if you use them. Your site needs HTTPS, and WordPress must sit at the root of a domain or subdomain. == Frequently Asked Questions == = Do I need Commerce7? = Yes for the shop, club and reservation widgets. The Tock widgets work without Commerce7. = What does the plugin need from Commerce7? = Only your Tenant ID. There are no API keys to create or paste. = Does it work with Commerce7 for WordPress installed? = Yes. While that plugin is active it keeps loading Commerce7, and this plugin's widgets, SEO, Tock and tracking work next to it. When you switch, this plugin takes over loading Commerce7 and your existing pages keep working. = Do I need Elementor Pro? = No. The widgets work in the free version of Elementor and in the block editor. = Are 1Pixel and the Shopping Feed required? = No. Both are optional paid Commerce7 apps by 7Labs. Without them you still get every widget, the Commerce7 pages, brand styling, the Tock widgets, a canonical address for each wine and collection page, and cart, checkout and account pages kept out of search. Wine page titles, descriptions, preview images and Product data need the Shopping Feed. = Will it slow down my site? = Commerce7's own script loads on every page, as it does on any Commerce7 site. Tock's script loads only on pages that show the Tock Booking Widget, and the plugin's own small scripts for the Tock and club selector widgets load only on pages that use them. The 1Pixel script loads only if you switch it on. = Does it work with my caching plugin? = It keeps WP Rocket, LiteSpeed Cache, SiteGround Speed Optimizer and Autoptimize from combining, deferring or delaying Commerce7's script, and marks the script so Cloudflare Rocket Loader leaves it alone. A delayed or combined Commerce7 script is what usually breaks a Commerce7 shop. Page caching itself is fine, because the cart and checkout run in the browser. = How do I check that my wine pages and Meta pixel work? = Free tools cover it: the Facebook Sharing Debugger for shared links, Google's Rich Results Test for price and stock, and Meta Pixel Helper for the pixel. To run all of these at once on your homepage and wine pages, use the free check at [check.wine](https://check.wine/?utm_source=wordpress.org&utm_medium=referral&utm_campaign=plugin-readme), also made by 7Labs. = Which page builders are supported for switching? = Content from Commerce7 for WordPress built with blocks, shortcodes, Elementor, WPBakery and Beaver Builder keeps rendering, and its Beaver Builder modules stay editable. Cornerstone elements use their own storage and need to be replaced by hand; the Switch plugins screen counts them for you. == Screenshots == 1. The Commerce7 and Tock widgets in Elementor (the free version) and the block editor. While you edit, each one shows a drawing of what it becomes, in your brand color. 2. A wine page on your own site, with Commerce7's buy button and cart in your brand colors and fonts. 3. Tock's booking widget and the Tock link button. Add your Tock business name once and use them on any page. 4. With the Shopping Feed connected, every wine gets its own title, description, share image and Product data. 5. One screen shows what's connected and what's left to set up. 6. 1Pixel's guided test watches one visit to your site and checks off each event before tracking goes live. 7. Connect the Shopping Feed so every wine page matches your Google and Meta catalogs. 8. Coming from Commerce7 for WordPress: import its settings, switch, and your pages keep working. == External services == This plugin connects to the services below. Nothing is sent to any of them until you turn on the matching setting. **Commerce7** (https://www.commerce7.com), the winery e-commerce platform that runs the shop, cart, checkout, wine club and reservations. * When: on every front-end page once you enter a Commerce7 Tenant ID. * What: visitors' browsers load Commerce7's storefront script and stylesheet from cdn.commerce7.com. Commerce7 receives the usual request data (IP address, browser, page address) and anything the visitor enters in the cart, checkout, club or account forms. * Terms of service: https://www.commerce7.com/terms-of-service/ * Privacy policy: https://www.commerce7.com/privacy-policy/ **Tock** (https://www.exploretock.com), a reservation, ticketing and events platform used for tastings and dining. * When: only on pages that show the Tock Booking Widget, once you enter your Tock business name. * What: visitors' browsers load Tock's widget script from www.exploretock.com, and Tock receives the usual request data (IP address, browser, page address) plus anything the visitor enters while booking. The Tock link button is a plain link to your Tock page and loads nothing from Tock. * Terms of service: https://www.exploretock.com/terms * Privacy policy: https://www.exploretock.com/privacy **1Pixel by 7Labs** (https://pixel.dmitru.com), a Commerce7 app that sends store events to Meta's Conversions API. * When: only if you switch on the 1Pixel website script or connect the site on the 1Pixel connection screen. * Website script: visitors' browsers load 1Pixel's script from 1pixel.dmitru.com with your Commerce7 tenant ID. It sends page views, product views, add to cart and checkout starts (product ID, price, currency, quantity, page address, the browser's IP address and user agent, and Meta's browser cookies) to 1Pixel, which forwards them to the Meta Pixel of the Commerce7 account that installed 1Pixel. The script can also load Meta's own pixel from connect.facebook.net, subject to Meta's terms. * Connection screen: your server sends a one-time code and this site's address to 1pixel-meta-c7.fly.dev (1Pixel's server) to pair the site, then exchanges connection health checks and on/off state with it. During the guided test, the events your own admin visit produced (event names, product IDs, prices, page paths) are uploaded so 1Pixel can confirm tracking works. * The connection screen's conflict check downloads this site's own home page and looks for Meta Pixel and Google Tag Manager code. It does not contact Meta or Google. * 1Pixel terms of service: https://1pixel.dmitru.com/terms * 1Pixel privacy policy: https://1pixel.dmitru.com/privacy * Meta Business Tools terms: https://www.facebook.com/legal/terms/businesstools * Meta privacy policy: https://www.facebook.com/privacy/policy/ **AI Visibility & Shopping Feed by 7Labs** (https://shoppingfeed.dmitru.com), a Commerce7 app that publishes product feeds for Google Merchant Center, Meta catalogs and wine marketplaces. * When: only if you turn on "Use my Shopping Feed on this site". * What: your server downloads your public product feed from feed.dmitru.com, requesting it by your Commerce7 tenant ID, twice a day and when you click "Check the feed now" or "Refresh wine data". No visitor or customer data is sent. * Terms of service: https://7labs.dmitru.com/terms/ * Privacy policy: https://7labs.dmitru.com/privacy/ Google and Meta site verification tags are only meta tags printed in your page head. The plugin makes no request to Google or Meta for them. == Upgrade Notice == = 0.1.12 = The plugin now needs only your Commerce7 Tenant ID. Saved Commerce7 API keys are deleted; wine page titles and Product data come from the Shopping Feed. = 0.1.11 = Old Commerce7 quick shop, create account and buy-by-SKU elements from Commerce7 for WordPress now show a working widget. = 0.1.10 = Pages built with Commerce7 for WordPress's Beaver Builder modules keep working after the switch. = 0.1.9 = The 1Pixel live site test now records every event, so all four steps tick in one run. = 0.1.8 = Renamed to 7Labs Winery Integration for Commerce7 and Tock, with WordPress.org review fixes. == Changelog == = 0.1.12 = * The plugin now needs only your Commerce7 Tenant ID. The App ID and Secret Key fields are gone, and any saved keys are deleted on update. Wine page titles, descriptions, preview images and Product data come from the Shopping Feed; without it, wine pages keep their own canonical address. * Tock's script now loads only on pages with the Tock Booking Widget. Pages with only a Tock link button no longer load it. * The "Book on Tock Button" is renamed "Tock Link Button". Saved buttons keep working. * Corrected plugin screens and readme: 1Pixel's and the Shopping Feed's current names and prices, what 1Pixel sends and from where, which widgets are Commerce7's own, and where Commerce7 shows your Tenant ID. = 0.1.11 = * Commerce7 for WordPress's quick shop, create account and buy-by-SKU elements were made for Commerce7's old v1 script and showed blank content on current sites. Quick shop now shows that collection, create account shows the login form, and buy-by-SKU shows the buy button for the product with that SKU (matched through the Shopping Feed or Commerce7 API keys). = 0.1.10 = * Beaver Builder modules saved by Commerce7 for WordPress keep rendering after that plugin is turned off, and stay editable in Beaver Builder. * The Switch plugins screen now counts pages with those modules correctly. = 0.1.9 = * 1Pixel live site test: events from every page of the test now count together. Before, the checklist could show page view and checkout or wine view and add to cart, but never all four. = 0.1.8 = * Renamed to 7Labs Winery Integration for Commerce7 and Tock (slug 7labs-winery-integration-for-commerce7-and-tock). * Script attributes are set on WordPress's own script tags instead of rewriting them, and wine page structured data prints through WordPress's inline script function. * Stricter input sanitizing and escaping, and the 1Pixel drift notice shows only on the 1Pixel connection screen. * The readme now describes every external service, what it receives and when. = 0.1.6 = * Block editor: the widget previews now use your brand color too, the same as in Elementor. * The plugin header no longer links to a separate plugin website. = 0.1.5 = * Every widget now has its own icon in Elementor, and the editor previews show a small drawing of the widget (a wine grid, a buy button, a calendar and so on) in your brand color instead of a grey box. * Wine page SEO with Rank Math: the canonical address now points to the wine's own page, not the empty product page, and shared links are marked as products. If Rank Math is installed but its setup wizard hasn't been finished, the plugin prints its own tags. * All in One SEO: cart, checkout and account pages are marked noindex again. * SiteGround Speed Optimizer: its "combine JavaScript" option no longer pulls Commerce7's script into its bundle, which stopped the shop from loading. = 0.1.4 = * 1Pixel live site test: Commerce7's checkout changes the address bar for each step (for example /checkout/cart to /checkout/cart/customer). Each step now counts as its own page, so the test no longer reports a duplicate page view. = 0.1.3 = * 1Pixel live site test: fixed a test that could never pass on Commerce7 v2 sites. 1Pixel's own add to cart and checkout events were ignored, and Commerce7's built-in dataLayer events were mistaken for a second tracker. * 1Pixel setup: the test step now shows numbered steps, a link to your site, the live checklist and exactly what to fix, at the top of the page. Finished steps are folded away, and the page refreshes when you come back from your site. = 0.1.2 = * 1Pixel guided retest: events from the product page and the checkout page now add up. Before, each new page replaced the earlier evidence, so the checklist could never show ViewContent, AddToCart and InitiateCheckout together. = 0.1.1 = * If the plugin is installed twice, only one copy runs and the dashboard says which one to delete. * Deleting a duplicate copy no longer removes the settings the other copy uses. = 0.1.0 = * First release.