{"id":393891,"date":"2026-11-02T23:37:01","date_gmt":"2026-11-02T23:37:01","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/finishcoat\/"},"modified":"2026-11-02T23:36:51","modified_gmt":"2026-11-02T23:36:51","slug":"finishcoat","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/finishcoat\/","author":23593843,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1.4","requires":"6.5","requires_php":"7.4","requires_plugins":null,"header_name":"Finishcoat","header_author":"Wilder Labs","header_description":"Your clients pin notes, replies and photos to any spot on your pages, and you keep the final say.","assets_banners_color":"6e697c","last_updated":"2026-11-02 23:36:51","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wilderlabs.studio\/finishcoat\/","header_author_uri":"https:\/\/wilderlabs.studio","rating":0,"author_block_rating":0,"active_installs":0,"downloads":56,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"wilderlabs","date":"2026-11-02 23:36:51","revision":3780963}},"upgrade_notice":{"1.0.0":"<p>First release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3780963,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3780963,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3780963,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3780963,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3780963,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3780963,"resolution":false,"location":"assets","locale":"","contents":"{\"$schema\":\"https:\\\/\\\/playground.wordpress.net\\\/blueprint-schema.json\",\"meta\":{\"title\":\"Finishcoat demo: Juniper and Oak Bakery\",\"description\":\"A sample page with pinned client notes and a studio reply. You are logged in, so studio mode is on.\",\"author\":\"wilderlabs\",\"categories\":[\"Client feedback\"]},\"landingPage\":\"\\\/bakery-demo\\\/\",\"preferredVersions\":{\"php\":\"8.2\",\"wp\":\"latest\"},\"login\":true,\"steps\":[{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"finishcoat\"},\"options\":{\"activate\":true}},{\"step\":\"mkdir\",\"path\":\"\\\/wordpress\\\/wp-content\\\/uploads\\\/finishcoat-demo\\\/\"},{\"step\":\"writeFile\",\"path\":\"\\\/wordpress\\\/wp-content\\\/uploads\\\/finishcoat-demo\\\/loaf.svg\",\"data\":\"<svg xmlns=\\\"http:\\\/\\\/www.w3.org\\\/2000\\\/svg\\\" width=\\\"1200\\\" height=\\\"800\\\" viewBox=\\\"0 0 1200 800\\\"><rect width=\\\"1200\\\" height=\\\"800\\\" fill=\\\"#E9DCC6\\\"\\\/><rect x=\\\"120\\\" y=\\\"470\\\" width=\\\"960\\\" height=\\\"190\\\" rx=\\\"24\\\" fill=\\\"#B9844F\\\"\\\/><rect x=\\\"120\\\" y=\\\"470\\\" width=\\\"960\\\" height=\\\"26\\\" rx=\\\"13\\\" fill=\\\"#A47243\\\"\\\/><ellipse cx=\\\"600\\\" cy=\\\"420\\\" rx=\\\"390\\\" ry=\\\"170\\\" fill=\\\"#C98A4B\\\"\\\/><ellipse cx=\\\"600\\\" cy=\\\"400\\\" rx=\\\"370\\\" ry=\\\"140\\\" fill=\\\"#D9A264\\\"\\\/><g fill=\\\"none\\\" stroke=\\\"#F3DDBA\\\" stroke-width=\\\"22\\\" stroke-linecap=\\\"round\\\"><path d=\\\"M330 360 Q380 300 450 300\\\"\\\/><path d=\\\"M480 350 Q540 280 620 280\\\"\\\/><path d=\\\"M640 350 Q700 285 780 290\\\"\\\/><path d=\\\"M800 370 Q850 320 900 330\\\"\\\/><\\\/g><\\\/svg>\"},{\"step\":\"writeFile\",\"path\":\"\\\/wordpress\\\/wp-content\\\/uploads\\\/finishcoat-demo\\\/croissant.svg\",\"data\":\"<svg xmlns=\\\"http:\\\/\\\/www.w3.org\\\/2000\\\/svg\\\" width=\\\"1200\\\" height=\\\"800\\\" viewBox=\\\"0 0 1200 800\\\"><rect width=\\\"1200\\\" height=\\\"800\\\" fill=\\\"#2B2838\\\"\\\/><ellipse cx=\\\"600\\\" cy=\\\"600\\\" rx=\\\"420\\\" ry=\\\"60\\\" fill=\\\"#221F2D\\\"\\\/><g stroke=\\\"#8E5527\\\" stroke-width=\\\"10\\\" stroke-linejoin=\\\"round\\\"><path d=\\\"M250 560 Q300 400 420 380 L470 590 Q340 610 250 560Z\\\" fill=\\\"#C9813E\\\"\\\/><path d=\\\"M950 560 Q900 400 780 380 L730 590 Q860 610 950 560Z\\\" fill=\\\"#C9813E\\\"\\\/><path d=\\\"M420 380 Q470 300 560 290 L560 600 Q500 605 470 590Z\\\" fill=\\\"#DB9A52\\\"\\\/><path d=\\\"M780 380 Q730 300 640 290 L640 600 Q700 605 730 590Z\\\" fill=\\\"#DB9A52\\\"\\\/><path d=\\\"M560 290 Q600 270 640 290 L640 600 Q600 610 560 600Z\\\" fill=\\\"#E8B06A\\\"\\\/><\\\/g><\\\/svg>\"},{\"step\":\"runPHP\",\"code\":\"<?php\\n\\\/*\\n * Runs once inside WordPress Playground (the runPHP step of assets\\\/blueprints\\\/blueprint.json).\\n * Builds a small fictional bakery page, shows the Suggestions tab to everyone and adds two sample\\n * notes, one with a reply from the studio. Rebuild the blueprint with build.py after editing.\\n *\\\/\\nrequire_once '\\\/wordpress\\\/wp-load.php';\\n\\nupdate_option( 'blogname', 'Juniper and Oak Bakery' );\\nupdate_option( 'blogdescription', '' );\\nupdate_option( 'permalink_structure', '\\\/%postname%\\\/' );\\nflush_rewrite_rules( false );\\n\\n\\\/\\\/ Leave only the demo page in the menu.\\nforeach ( array( 'sample-page' => 'page', 'hello-world' => 'post' ) as $slug => $type ) {\\n\\t$old = get_page_by_path( $slug, OBJECT, $type );\\n\\tif ( $old ) {\\n\\t\\twp_delete_post( $old->ID, true );\\n\\t}\\n}\\n\\n$up  = wp_upload_dir( null, false );\\n$img = $up['baseurl'] . '\\\/finishcoat-demo\\\/';\\n\\n$content = '<!-- wp:heading {\\\"level\\\":1} --><h1 class=\\\"wp-block-heading\\\" id=\\\"fc-hero\\\">Bread worth getting up early for<\\\/h1><!-- \\\/wp:heading -->'\\n\\t. '<!-- wp:paragraph --><p id=\\\"fc-intro\\\">Naturally leavened loaves, laminated pastry and good coffee. Baked every morning on Alder Street.<\\\/p><!-- \\\/wp:paragraph -->'\\n\\t. '<!-- wp:image {\\\"sizeSlug\\\":\\\"full\\\"} --><figure class=\\\"wp-block-image size-full\\\"><img id=\\\"fc-loaf\\\" src=\\\"' . esc_url( $img . 'loaf.svg' ) . '\\\" alt=\\\"A loaf of country sourdough\\\" width=\\\"1200\\\" height=\\\"800\\\"\\\/><\\\/figure><!-- \\\/wp:image -->'\\n\\t. '<!-- wp:heading --><h2 class=\\\"wp-block-heading\\\" id=\\\"fc-about\\\">Small batches since 2019<\\\/h2><!-- \\\/wp:heading -->'\\n\\t. '<!-- wp:paragraph --><p>We shape every loaf by hand, give the dough a slow overnight rise, and bake in small batches so the shelves turn over before noon.<\\\/p><!-- \\\/wp:paragraph -->'\\n\\t. '<!-- wp:image {\\\"sizeSlug\\\":\\\"full\\\"} --><figure class=\\\"wp-block-image size-full\\\"><img id=\\\"fc-croissant\\\" src=\\\"' . esc_url( $img . 'croissant.svg' ) . '\\\" alt=\\\"Two butter croissants\\\" width=\\\"1200\\\" height=\\\"800\\\"\\\/><\\\/figure><!-- \\\/wp:image -->'\\n\\t. '<!-- wp:paragraph --><p>Try it: open the Suggestions tab on the right, press Pin it to a spot, then click anything on this page. Point at a picture and press Try my photo here.<\\\/p><!-- \\\/wp:paragraph -->';\\n\\n$page_id = wp_insert_post(\\n\\tarray(\\n\\t\\t'post_type'    => 'page',\\n\\t\\t'post_status'  => 'publish',\\n\\t\\t'post_name'    => 'bakery-demo',\\n\\t\\t'post_title'   => 'Juniper and Oak Bakery',\\n\\t\\t'post_content' => $content,\\n\\t)\\n);\\n\\\/\\\/ Block themes that have a \\\"Page No Title\\\" template (Twenty Twenty-Four and Twenty Twenty-Five) skip the page title.\\nupdate_post_meta( $page_id, '_wp_page_template', 'page-no-title' );\\n\\n\\\/\\\/ Show the tab to every visitor. The logged-in Playground admin gets studio mode.\\n$s         = get_option( 'finishcoat_settings' );\\n$s         = is_array( $s ) ? $s : array();\\n$s['show'] = 'everyone';\\nupdate_option( 'finishcoat_settings', $s );\\n\\nif ( function_exists( 'finishcoat_codes' ) && function_exists( 'finishcoat_code_new' ) && function_exists( 'finishcoat_save_codes' ) ) {\\n\\t$codes = finishcoat_codes();\\n\\tif ( count( $codes ) < 2 ) {\\n\\t\\t$codes[] = finishcoat_code_new( $codes, 'Marketing lead' );\\n\\t\\tfinishcoat_save_codes( $codes );\\n\\t}\\n}\\n\\n\\\/\\\/ Two sample notes in the plugin's own storage format, so the page has numbered pins on arrival.\\n$path   = (string) wp_parse_url( get_permalink( $page_id ), PHP_URL_PATH );\\n$origin = function_exists( 'finishcoat_site_origin' ) ? finishcoat_site_origin() : untrailingslashit( home_url() );\\n$note   = function ( $body, $author, $role, $parent, $anchor, $status ) use ( $path, $origin ) {\\n\\t$id = wp_insert_post(\\n\\t\\tarray(\\n\\t\\t\\t'post_type'    => 'finishcoat_note',\\n\\t\\t\\t'post_status'  => 'private',\\n\\t\\t\\t'post_parent'  => $parent,\\n\\t\\t\\t'post_title'   => mb_substr( $author . ': ' . $body, 0, 90 ),\\n\\t\\t\\t'post_content' => $body,\\n\\t\\t)\\n\\t);\\n\\tupdate_post_meta( $id, '_finishcoat_project', 'site' );\\n\\tupdate_post_meta( $id, '_finishcoat_page', $path );\\n\\tupdate_post_meta( $id, '_finishcoat_page_title', 'Juniper and Oak Bakery' );\\n\\tupdate_post_meta( $id, '_finishcoat_author', $author );\\n\\tupdate_post_meta( $id, '_finishcoat_role', $role );\\n\\tupdate_post_meta( $id, '_finishcoat_origin', $origin );\\n\\tif ( 'client' === $role ) {\\n\\t\\tupdate_post_meta( $id, '_finishcoat_code_label', 'Owner' );\\n\\t}\\n\\tif ( ! $parent ) {\\n\\t\\tupdate_post_meta( $id, '_finishcoat_status', $status );\\n\\t}\\n\\tif ( $anchor ) {\\n\\t\\tupdate_post_meta( $id, '_finishcoat_anchor', wp_slash( wp_json_encode( $anchor ) ) );\\n\\t}\\n\\treturn $id;\\n};\\n$first = $note( 'Can the big heading say what people ask us most? Something like \\\"Fresh out of the oven at 7am\\\".', 'Maya', 'client', 0, array( 'sel' => '#fc-hero', 'rx' => 0.95, 'ry' => 0.5, 'dx' => 0.5, 'dy' => 0.1, 'vw' => 1280, 'lbl' => 'Bread worth getting up early for' ), 'doing' );\\n$note( 'Good call. I will swap that in and keep the photo under it.', 'Sam', 'studio', $first, null, '' );\\n$note( 'We opened in 2018, not 2019. Small thing, but my mom will notice.', 'Maya', 'client', 0, array( 'sel' => '#fc-about', 'rx' => 0.95, 'ry' => 0.5, 'dx' => 0.5, 'dy' => 0.5, 'vw' => 1280, 'lbl' => 'Small batches since 2019' ), 'new' );\\nif ( function_exists( 'finishcoat_bust_waiting' ) ) {\\n\\tfinishcoat_bust_waiting();\\n}\"}]}"}},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.jpg":{"filename":"screenshot-1.jpg","revision":3780963,"resolution":"1","location":"assets","locale":"","width":1440,"height":900},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3780963,"resolution":"2","location":"assets","locale":"","width":1440,"height":900},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3780963,"resolution":"3","location":"assets","locale":"","width":1440,"height":900},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3780963,"resolution":"4","location":"assets","locale":"","width":1440,"height":900},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3780963,"resolution":"5","location":"assets","locale":"","width":1440,"height":900},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3780963,"resolution":"6","location":"assets","locale":"","width":1440,"height":900}},"screenshots":{"1":"Your client opens one review link and sees the Suggestions tab and numbered pins.","2":"A note pinned to the exact spot it is about, shown in the panel.","3":"Try my photo here shows their photo in place, only in their browser.","4":"The board shows a suggested photo as before and after, with your reply.","5":"All client notes in wp-admin, with a Waiting view, photos and Download original.","6":"A visitor needs a review code; you manage labeled codes in Settings."}},"plugin_section":[],"plugin_tags":[15354,145645,107,290414,147509],"plugin_category":[44],"plugin_contributors":[290415],"plugin_business_model":[],"class_list":["post-393891","plugin","type-plugin","status-publish","hentry","plugin_tags-annotations","plugin_tags-client-feedback","plugin_tags-comments","plugin_tags-design-review","plugin_tags-website-feedback","plugin_category-discussion-and-community","plugin_contributors-wilderlabs","plugin_committers-wilderlabs"],"banners":{"banner":"https:\/\/ps.w.org\/finishcoat\/assets\/banner-772x250.png?rev=3780963","banner_2x":"https:\/\/ps.w.org\/finishcoat\/assets\/banner-1544x500.png?rev=3780963","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/finishcoat\/assets\/icon.svg?rev=3780963","icon":"https:\/\/ps.w.org\/finishcoat\/assets\/icon.svg?rev=3780963","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/finishcoat\/assets\/screenshot-1.jpg?rev=3780963","caption":"Your client opens one review link and sees the Suggestions tab and numbered pins."},{"src":"https:\/\/ps.w.org\/finishcoat\/assets\/screenshot-2.png?rev=3780963","caption":"A note pinned to the exact spot it is about, shown in the panel."},{"src":"https:\/\/ps.w.org\/finishcoat\/assets\/screenshot-3.png?rev=3780963","caption":"Try my photo here shows their photo in place, only in their browser."},{"src":"https:\/\/ps.w.org\/finishcoat\/assets\/screenshot-4.png?rev=3780963","caption":"The board shows a suggested photo as before and after, with your reply."},{"src":"https:\/\/ps.w.org\/finishcoat\/assets\/screenshot-5.png?rev=3780963","caption":"All client notes in wp-admin, with a Waiting view, photos and Download original."},{"src":"https:\/\/ps.w.org\/finishcoat\/assets\/screenshot-6.png?rev=3780963","caption":"A visitor needs a review code; you manage labeled codes in Settings."}],"raw_content":"<!--section=description-->\n<p>Finishcoat turns any WordPress site into a review page for your client. They open a review link, click a Suggestions tab, and leave notes right on the page. You read them in wp-admin, reply, and decide what changes.<\/p>\n\n<p>Everything stays on your site. Finishcoat makes no outside requests: no account, no tracking, no fonts or scripts from anywhere else. Notes, replies, photos and settings are stored in your WordPress database and uploads folder, and email alerts go out through your site's own mail.<\/p>\n\n<h4>What your client can do<\/h4>\n\n<ul>\n<li>Leave a note on any page, or pin it to the exact spot it is about. Pins show as numbered dots.<\/li>\n<li>Reply to a note, and read your replies.<\/li>\n<li>Attach up to 3 photos to a note or a reply: a screenshot, a logo, a photo they want used.<\/li>\n<li>Try their own photo in any spot with \"Try my photo here\". It shows in place right away, cropped like the original, and only in their browser. Nothing is uploaded until they press \"Suggest this photo\", which turns it into a note pinned to that spot with a before and after pair.<\/li>\n<\/ul>\n\n<h4>What you get<\/h4>\n\n<ul>\n<li>A Client notes menu with the list of notes, a Waiting view and a count bubble, so you see what needs an answer.<\/li>\n<li>A Photos screen with every photo, a Download original button and Delete.<\/li>\n<li>An email for each client note and reply, with photo thumbnails and a link that opens the note on the page.<\/li>\n<li>Studio mode: when you are logged in as an editor or administrator, you reply, set a status (New, Noted, In progress, Done) and delete right on the page.<\/li>\n<\/ul>\n\n<h4>Review codes keep it private<\/h4>\n\n<p>A visitor needs a review code to see or send notes. You get one code on activation and can add up to 10, each with a label such as \"Client\" or \"Marketing lead\". The label shows next to each note, so you know who sent what. Send each person their review link. Opening it saves the code in their browser for 90 days and removes it from the address bar.<\/p>\n\n<h4>Who sees the tab<\/h4>\n\n<p>Choose Everyone, Logged-in users only, or Only people who open the review link (the default, so a live site never shows the tab by accident). Skip pages by ID, or use the <code>[finishcoat]<\/code> shortcode. <code>[finishcoat board=\"yes\"]<\/code> shows the board of every note where you place it.<\/p>\n\n<h4>Source code<\/h4>\n\n<p>Every file in the plugin is the original, human-readable source. Nothing is minified, compiled or bundled, and there is no build step: the JavaScript and CSS in the <code>assets<\/code> folder are the files we edit. The plugin's source code is also public at https:\/\/github.com\/wilder-labs\/finishcoat.<\/p>\n\n<h3>Privacy<\/h3>\n\n<p>Finishcoat makes no outside requests and sends nothing to Wilder Labs or anyone else.<\/p>\n\n<ul>\n<li>What is stored: the name a visitor types, their message, the page address and title, where a pin sits, the label of the review code they used, and any photos they send.<\/li>\n<li>Where: in your WordPress database and in <code>wp-content\/uploads\/finishcoat\/<\/code>.<\/li>\n<li>How long: until you delete it. Deleting the plugin keeps everything, unless you tick \"Delete all notes and photos when the plugin is deleted\" in Settings.<\/li>\n<li>IP addresses: used only as a one-way hash, for rate limits, kept in a transient for at most an hour. They are never stored with a note.<\/li>\n<li>In the visitor's browser: their name, their review code (for 90 days) and whether the tab hint was shown, in localStorage. No cookies are set.<\/li>\n<li>Photos: display copies have location and camera data removed. Originals are kept as sent, so they can still hold that data, and only editors can download them.<\/li>\n<\/ul>\n\n<p>Finishcoat adds a suggested paragraph to Settings &gt; Privacy for your privacy policy.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Pick where the review happens. Building or redesigning? Install Finishcoat on a staging copy of the site (most hosts make one in a click), so your client reviews before anything goes public. Fine-tuning a site that's already live? Install it on the live site and keep \"Only people who open the review link\", so regular visitors never see the tab.<\/li>\n<li>Install Finishcoat from Plugins &gt; Add New, or upload the <code>finishcoat<\/code> folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate it. A first review code, labeled Client, is made for you.<\/li>\n<li>Go to Client notes &gt; Settings. Check the email address for alerts and press Send test email.<\/li>\n<li>Under Review codes, press Copy review link and send the link to your client.<\/li>\n<li>When the client signs off, revoke their code or deactivate Finishcoat. Notes and photos stay saved unless you choose to delete them on uninstall.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"should%20i%20use%20it%20on%20a%20staging%20site%20or%20my%20live%20site%3F\"><h3>Should I use it on a staging site or my live site?<\/h3><\/dt>\n<dd><p>Both work. For a new build or a redesign, a staging copy is best: your client reviews the finished design before launch, and nothing they try touches the public site. On a live site, keep the default \"Only people who open the review link\" so the tab appears only for people you send the link to, and they still need their review code. On a staging site, also tick Settings &gt; Reading &gt; \"Discourage search engines\" so the copy stays out of Google.<\/p><\/dd>\n<dt id=\"where%20are%20notes%20and%20photos%20stored%3F\"><h3>Where are notes and photos stored?<\/h3><\/dt>\n<dd><p>In your own WordPress site. Notes and replies are private posts in your database. Photos go to <code>wp-content\/uploads\/finishcoat\/<\/code>: a display copy and a thumbnail with location and camera data removed, and the original file as sent in a <code>_originals<\/code> folder with a random name. On Apache a rule blocks direct access to that folder; on nginx, add a rule that denies <code>\/wp-content\/uploads\/finishcoat\/_originals\/<\/code>. Editors download originals through wp-admin.<\/p><\/dd>\n<dt id=\"who%20can%20see%20the%20notes%3F\"><h3>Who can see the notes?<\/h3><\/dt>\n<dd><p>Visitors with a working review code, and logged-in editors and administrators. Notes never appear in search results, feeds or the REST API.<\/p><\/dd>\n<dt id=\"how%20do%20review%20codes%20work%3F\"><h3>How do review codes work?<\/h3><\/dt>\n<dd><p>A code is 8 letters and numbers, shown like K7QM-4XRT, with no 0, O, 1, I or L to mix up. You can rename, revoke or regenerate a code at any time. A revoked or regenerated code stops working at once, and the person is asked for a new one. Wrong codes are limited to 10 an hour per visitor.<\/p><\/dd>\n<dt id=\"does%20it%20slow%20my%20site%3F\"><h3>Does it slow my site?<\/h3><\/dt>\n<dd><p>In the default mode, visitors without a review code get one small inline script of about 2 KB and nothing else. The tab's script and styles load only for people with a code and for logged-in editors. Nothing is loaded from other servers.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20divi%2C%20elementor%20and%20block%20themes%3F\"><h3>Does it work with Divi, Elementor and block themes?<\/h3><\/dt>\n<dd><p>Yes. The tab and panel live in their own shadow DOM, so your theme's styles do not change them and they do not change your theme. They use your theme's fonts. The tab stays hidden inside the Divi, Elementor and other page builder editors.<\/p><\/dd>\n<dt id=\"what%20does%20pro%20add%3F\"><h3>What does Pro add?<\/h3><\/dt>\n<dd><p>Finishcoat Pro is a separate plugin, sold at wilderlabs.studio. It puts a suggested photo in place on the page for you to approve or reset, adds a photo library your client can pick from, photo links, small text changes shown as tracked changes, a Review screen with a weekly summary, and review for more than one client site from one place. Everything in this plugin works fully without it.<\/p><\/dd>\n<dt id=\"how%20do%20i%20contact%20you%3F\"><h3>How do I contact you?<\/h3><\/dt>\n<dd><p>Email finishcoat@wilderlabs.studio, or post in the WordPress.org support forum for Finishcoat.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release: notes, pins, replies, photos on notes, Try my photo here, the board, review codes, email alerts, the Notes and Photos screens, and Settings.<\/li>\n<\/ul>","raw_excerpt":"Your client finishes the page. You keep the final say. Pinned notes, replies and photo ideas on your own site, behind a review code.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/393891","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=393891"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/wilderlabs"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=393891"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=393891"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=393891"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=393891"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=393891"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=393891"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}