{"id":377420,"date":"2026-10-08T12:50:19","date_gmt":"2026-10-08T12:50:19","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/wolfiz-visual-feedback\/"},"modified":"2026-10-26T06:33:59","modified_gmt":"2026-10-26T06:33:59","slug":"wolfiz-visual-feedback","status":"publish","type":"plugin","link":"https:\/\/fa-af.wordpress.org\/plugins\/wolfiz-visual-feedback\/","author":23575638,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.0","stable_tag":"1.1.0","tested":"7.1.3","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Visual Feedback Pins","header_author":"Wolfiz","header_description":"Collect visual website feedback with pins, screenshots, attachments, replies, and an organized admin inbox.","assets_banners_color":"7b75ed","last_updated":"2026-10-26 06:33:59","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/buy.stripe.com\/cNi3cw5ZN7eha9A3vJ9oc0M","header_plugin_uri":"https:\/\/wolfiz.com","header_author_uri":"https:\/\/wolfiz.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":266,"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":"wolfiz215","date":"2026-10-26 04:55:46","revision":3765557},"1.0.1":{"tag":"1.0.1","author":"wolfiz215","date":"2026-10-26 06:11:56","revision":3765610},"1.1.0":{"tag":"1.1.0","author":"wolfiz215","date":"2026-10-26 06:33:59","revision":3765635}},"upgrade_notice":{"1.1.0":"<p>Adds email notifications, a working settings page and a getting started notice. Notifications go to the site admin email by default.<\/p>","1.0.1":"<p>The plugin is now called Visual Feedback Pins. Name and listing update only, with no changes to features or your existing feedback.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3765653,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3765653,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3765653,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3765653,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3765741,"resolution":false,"location":"assets","locale":"","contents":"{\"$schema\":\"https:\\\/\\\/playground.wordpress.net\\\/blueprint-schema.json\",\"meta\":{\"title\":\"Visual Feedback Pins demo\",\"description\":\"A demo site with sample feedback pins, replies and the admin inbox.\",\"author\":\"wolfiz215\",\"categories\":[\"Collaboration\"]},\"landingPage\":\"\\\/\",\"preferredVersions\":{\"php\":\"8.2\",\"wp\":\"latest\"},\"features\":{\"networking\":true},\"login\":true,\"steps\":[{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"wolfiz-visual-feedback\"},\"options\":{\"activate\":true}},{\"step\":\"writeFile\",\"path\":\"\\\/wordpress\\\/wp-content\\\/mu-plugins\\\/visual-feedback-demo.php\",\"data\":\"<?php\\n\\\/\\\/ Live Preview demo tweaks: tidy the demo home page and keep demo emails from being sent.\\nadd_filter( 'render_block_core\\\/post-title', function ( $html ) {\\n\\treturn is_front_page() ? '' : $html;\\n} );\\nadd_action( 'wp_head', function () {\\n\\techo '<style>main.wp-block-group,main>.wp-block-group:first-child{margin-top:0!important;padding-top:0!important}main .wp-block-post-content,main .wp-block-post-content>.alignfull:first-child{margin-top:0!important}<\\\/style>';\\n} );\\nadd_filter( 'pre_wp_mail', '__return_true' );\\n\"},{\"step\":\"runPHP\",\"code\":\"<?php\\nrequire_once '\\\/wordpress\\\/wp-load.php';\\n\\nupdate_option( 'blogname', 'Northwind Studio' );\\nupdate_option( 'blogdescription', 'Design and development for growing brands' );\\n\\n$content = <<<'HTML'\\n<!-- wp:group {\\\"align\\\":\\\"full\\\",\\\"style\\\":{\\\"spacing\\\":{\\\"padding\\\":{\\\"top\\\":\\\"80px\\\",\\\"bottom\\\":\\\"80px\\\",\\\"left\\\":\\\"40px\\\",\\\"right\\\":\\\"40px\\\"}},\\\"color\\\":{\\\"background\\\":\\\"#f3f1ff\\\"}},\\\"layout\\\":{\\\"type\\\":\\\"constrained\\\"}} -->\\n<div class=\\\"wp-block-group alignfull has-background\\\" style=\\\"background-color:#f3f1ff;padding-top:80px;padding-right:40px;padding-bottom:80px;padding-left:40px\\\"><!-- wp:paragraph {\\\"style\\\":{\\\"typography\\\":{\\\"textTransform\\\":\\\"uppercase\\\",\\\"letterSpacing\\\":\\\"2px\\\",\\\"fontSize\\\":\\\"13px\\\",\\\"fontWeight\\\":\\\"700\\\"},\\\"color\\\":{\\\"text\\\":\\\"#5b4cf0\\\"}}} -->\\n<p class=\\\"has-text-color\\\" style=\\\"color:#5b4cf0;font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase\\\">Design studio<\\\/p>\\n<!-- \\\/wp:paragraph -->\\n<!-- wp:heading {\\\"level\\\":1,\\\"style\\\":{\\\"typography\\\":{\\\"fontSize\\\":\\\"56px\\\",\\\"lineHeight\\\":\\\"1.1\\\"}}} -->\\n<h1 class=\\\"wp-block-heading\\\" style=\\\"font-size:56px;line-height:1.1\\\">We build websites that grow with your business.<\\\/h1>\\n<!-- \\\/wp:heading -->\\n<!-- wp:paragraph {\\\"style\\\":{\\\"typography\\\":{\\\"fontSize\\\":\\\"20px\\\"}}} -->\\n<p style=\\\"font-size:20px\\\">Strategy, design and development for brands that want a site their customers love to use.<\\\/p>\\n<!-- \\\/wp:paragraph -->\\n<!-- wp:buttons -->\\n<div class=\\\"wp-block-buttons\\\"><!-- wp:button {\\\"style\\\":{\\\"color\\\":{\\\"background\\\":\\\"#5b4cf0\\\"}}} -->\\n<div class=\\\"wp-block-button\\\"><a class=\\\"wp-block-button__link has-background wp-element-button\\\" style=\\\"background-color:#5b4cf0\\\">Start a project<\\\/a><\\\/div>\\n<!-- \\\/wp:button -->\\n<!-- wp:button {\\\"className\\\":\\\"is-style-outline\\\"} -->\\n<div class=\\\"wp-block-button is-style-outline\\\"><a class=\\\"wp-block-button__link wp-element-button\\\">See our work<\\\/a><\\\/div>\\n<!-- \\\/wp:button --><\\\/div>\\n<!-- \\\/wp:buttons --><\\\/div>\\n<!-- \\\/wp:group -->\\n<!-- wp:group {\\\"align\\\":\\\"full\\\",\\\"style\\\":{\\\"spacing\\\":{\\\"padding\\\":{\\\"top\\\":\\\"64px\\\",\\\"bottom\\\":\\\"64px\\\",\\\"left\\\":\\\"40px\\\",\\\"right\\\":\\\"40px\\\"}}},\\\"layout\\\":{\\\"type\\\":\\\"constrained\\\"}} -->\\n<div class=\\\"wp-block-group alignfull\\\" style=\\\"padding-top:64px;padding-right:40px;padding-bottom:64px;padding-left:40px\\\"><!-- wp:heading -->\\n<h2 class=\\\"wp-block-heading\\\">What we do<\\\/h2>\\n<!-- \\\/wp:heading -->\\n<!-- wp:columns -->\\n<div class=\\\"wp-block-columns\\\"><!-- wp:column -->\\n<div class=\\\"wp-block-column\\\"><!-- wp:heading {\\\"level\\\":3} -->\\n<h3 class=\\\"wp-block-heading\\\">Brand strategy<\\\/h3>\\n<!-- \\\/wp:heading -->\\n<!-- wp:paragraph -->\\n<p>Positioning, messaging and a clear plan for how your site supports your goals.<\\\/p>\\n<!-- \\\/wp:paragraph --><\\\/div>\\n<!-- \\\/wp:column -->\\n<!-- wp:column -->\\n<div class=\\\"wp-block-column\\\"><!-- wp:heading {\\\"level\\\":3} -->\\n<h3 class=\\\"wp-block-heading\\\">Web design<\\\/h3>\\n<!-- \\\/wp:heading -->\\n<!-- wp:paragraph -->\\n<p>Clean, accessible layouts designed around what your visitors need to find.<\\\/p>\\n<!-- \\\/wp:paragraph --><\\\/div>\\n<!-- \\\/wp:column -->\\n<!-- wp:column -->\\n<div class=\\\"wp-block-column\\\"><!-- wp:heading {\\\"level\\\":3} -->\\n<h3 class=\\\"wp-block-heading\\\">Development<\\\/h3>\\n<!-- \\\/wp:heading -->\\n<!-- wp:paragraph -->\\n<p>Fast, secure WordPress builds that your team can update with confidence.<\\\/p>\\n<!-- \\\/wp:paragraph --><\\\/div>\\n<!-- \\\/wp:column --><\\\/div>\\n<!-- \\\/wp:columns --><\\\/div>\\n<!-- \\\/wp:group -->\\nHTML;\\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_title'   => 'Home',\\n\\t\\t'post_content' => $content,\\n\\t)\\n);\\nupdate_option( 'show_on_front', 'page' );\\nupdate_option( 'page_on_front', $page_id );\\n\\nwp_update_user( array( 'ID' => 1, 'display_name' => 'Alex Morgan' ) );\\n$sarah_id = wp_insert_user(\\n\\tarray(\\n\\t\\t'user_login'   => 'sarah',\\n\\t\\t'user_pass'    => wp_generate_password(),\\n\\t\\t'user_email'   => 'sarah@example.com',\\n\\t\\t'display_name' => 'Sarah Miller',\\n\\t\\t'role'         => 'userback_reviewer',\\n\\t)\\n);\\n\\nglobal $wpdb;\\n$feedback_table = Userback_Database::get_feedback_table_name();\\n$replies_table  = Userback_Database::get_replies_table_name();\\n$page_url       = home_url( '\\\/' );\\n$admin          = get_userdata( 1 );\\n\\n$items = array(\\n\\tarray( 'Can we make this headline a bit shorter? It wraps onto three lines on my laptop.', 'in_progress', 'high', 59.4, 20.2, 'h1', '-50 minutes', 'Good catch. I will tighten it to two lines and send a preview this afternoon.' ),\\n\\tarray( 'Please change this button text to \\\"Book a free call\\\".', 'resolved', 'medium', 39.4, 31.1, '.wp-block-button', '-40 minutes', 'Updated. The button now says Book a free call.' ),\\n\\tarray( 'Small typo check: should this say \\\"customers love\\\" or \\\"visitors love\\\"?', 'open', 'medium', 56.3, 25.1, 'p', '-30 minutes', '' ),\\n);\\n\\nforeach ( $items as $item ) {\\n\\t$created = gmdate( 'Y-m-d H:i:s', strtotime( $item[6], current_time( 'timestamp' ) ) );\\n\\t$wpdb->insert(\\n\\t\\t$feedback_table,\\n\\t\\tarray(\\n\\t\\t\\t'feedback_type'        => 'visual_comment',\\n\\t\\t\\t'title'                => 'Visual page comment',\\n\\t\\t\\t'description'          => $item[0],\\n\\t\\t\\t'priority'             => $item[2],\\n\\t\\t\\t'status'               => $item[1],\\n\\t\\t\\t'reporter_user_id'     => $sarah_id,\\n\\t\\t\\t'reporter_name'        => 'Sarah Miller',\\n\\t\\t\\t'reporter_email'       => 'sarah@example.com',\\n\\t\\t\\t'page_url'             => $page_url,\\n\\t\\t\\t'page_title'           => 'Northwind Studio',\\n\\t\\t\\t'annotation_x_percent' => $item[3],\\n\\t\\t\\t'annotation_y_percent' => $item[4],\\n\\t\\t\\t'element_selector'     => $item[5],\\n\\t\\t\\t'screenshot_url'       => 'https:\\\/\\\/ps.w.org\\\/wolfiz-visual-feedback\\\/assets\\\/screenshot-1.png',\\n\\t\\t\\t'created_at'           => $created,\\n\\t\\t\\t'updated_at'           => $created,\\n\\t\\t)\\n\\t);\\n\\n\\tif ( $item[7] ) {\\n\\t\\t$wpdb->insert(\\n\\t\\t\\t$replies_table,\\n\\t\\t\\tarray(\\n\\t\\t\\t\\t'feedback_id' => $wpdb->insert_id,\\n\\t\\t\\t\\t'reply_text'  => $item[7],\\n\\t\\t\\t\\t'user_id'     => 1,\\n\\t\\t\\t\\t'user_name'   => 'Alex Morgan',\\n\\t\\t\\t\\t'user_email'  => $admin->user_email,\\n\\t\\t\\t\\t'created_at'  => $created,\\n\\t\\t\\t\\t'updated_at'  => $created,\\n\\t\\t\\t)\\n\\t\\t);\\n\\t}\\n}\\n\"}]}"}},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.1.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3765635,"resolution":"1","location":"assets","locale":"","width":1920,"height":1200},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3765635,"resolution":"2","location":"assets","locale":"","width":1920,"height":1200},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3765635,"resolution":"3","location":"assets","locale":"","width":1920,"height":1200},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3765635,"resolution":"4","location":"assets","locale":"","width":1920,"height":1200},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3765635,"resolution":"5","location":"assets","locale":"","width":1920,"height":1200}},"screenshots":{"1":"Numbered feedback pins on a live page. The feedback button is only visible to logged in reviewers.","2":"Click any spot to pin a comment. A screenshot of the page is captured automatically.","3":"Open a pin to read the conversation and reply right on the page.","4":"The feedback inbox with status filters, priority, the automatic screenshot and the full conversation.","5":"Settings for the button, who can leave feedback and email notifications."}},"plugin_section":[],"plugin_tags":[189089,145645,4038,63174,288575],"plugin_category":[50],"plugin_contributors":[285031],"plugin_business_model":[],"class_list":["post-377420","plugin","type-plugin","status-publish","hentry","plugin_tags-bug-reporting","plugin_tags-client-feedback","plugin_tags-screenshot","plugin_tags-visual-feedback","plugin_tags-website-annotation","plugin_category-media","plugin_contributors-wolfiz215","plugin_committers-wolfiz215"],"banners":{"banner":"https:\/\/ps.w.org\/wolfiz-visual-feedback\/assets\/banner-772x250.png?rev=3765653","banner_2x":"https:\/\/ps.w.org\/wolfiz-visual-feedback\/assets\/banner-1544x500.png?rev=3765653","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/wolfiz-visual-feedback\/assets\/icon-128x128.png?rev=3765653","icon_2x":"https:\/\/ps.w.org\/wolfiz-visual-feedback\/assets\/icon-256x256.png?rev=3765653","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/wolfiz-visual-feedback\/assets\/screenshot-1.png?rev=3765635","caption":"Numbered feedback pins on a live page. The feedback button is only visible to logged in reviewers."},{"src":"https:\/\/ps.w.org\/wolfiz-visual-feedback\/assets\/screenshot-2.png?rev=3765635","caption":"Click any spot to pin a comment. A screenshot of the page is captured automatically."},{"src":"https:\/\/ps.w.org\/wolfiz-visual-feedback\/assets\/screenshot-3.png?rev=3765635","caption":"Open a pin to read the conversation and reply right on the page."},{"src":"https:\/\/ps.w.org\/wolfiz-visual-feedback\/assets\/screenshot-4.png?rev=3765635","caption":"The feedback inbox with status filters, priority, the automatic screenshot and the full conversation."},{"src":"https:\/\/ps.w.org\/wolfiz-visual-feedback\/assets\/screenshot-5.png?rev=3765635","caption":"Settings for the button, who can leave feedback and email notifications."}],"raw_content":"<!--section=description-->\n<p>Stop collecting website feedback in long email threads like \"the button near the top looks off\". With Visual Feedback Pins, your team and clients click the exact spot on a live page, type a comment, and send it. The plugin saves where it was placed, takes a screenshot of what the reviewer was looking at, and puts it in an inbox inside your WordPress dashboard.<\/p>\n\n<p>It runs entirely inside your own WordPress site. There is no SaaS account to create, no monthly fee, no external dashboard, and no third party storing your feedback.<\/p>\n\n<h4>Who it is for<\/h4>\n\n<ul>\n<li><strong>Agencies and freelancers<\/strong> collecting client revisions before a site goes live.<\/li>\n<li><strong>Designers<\/strong> reviewing spacing, typography and layout on the real page instead of a mockup.<\/li>\n<li><strong>Content and QA teams<\/strong> reporting typos, broken elements and layout bugs.<\/li>\n<li><strong>Site owners<\/strong> who want one place to track every change request.<\/li>\n<\/ul>\n\n<h4>How it works<\/h4>\n\n<ol>\n<li>A logged in reviewer opens any page on the frontend and clicks the feedback button.<\/li>\n<li>They click the exact element or spot they want to talk about. A numbered pin appears there.<\/li>\n<li>They write a comment and can attach an image. The visible area of the page is captured as a screenshot automatically.<\/li>\n<li>The feedback lands in the admin inbox with the page, the pin position, the screenshot and the reviewer's details.<\/li>\n<li>Your team replies, sets a status and priority, and resolves it. The conversation stays attached to the pin on the page.<\/li>\n<\/ol>\n\n<h4>Features<\/h4>\n\n<ul>\n<li><strong>Pin comments on live pages.<\/strong> Feedback is tied to an exact position and page element, and the numbered pin shows again whenever the page is reopened.<\/li>\n<li><strong>Automatic screenshots.<\/strong> The visible part of the page is captured in the browser the moment feedback is sent, so you see exactly what the reviewer saw.<\/li>\n<li><strong>Image attachments.<\/strong> Reviewers can add their own JPG, PNG or WebP image (up to 5 MB) alongside the comment.<\/li>\n<li><strong>Threaded replies.<\/strong> Discuss each item from the frontend pin or from the admin inbox. Both views stay in sync.<\/li>\n<li><strong>Feedback inbox.<\/strong> Search all feedback, filter by status, sort by date, and open any item to see its screenshot, attachment, page link and full conversation.<\/li>\n<li><strong>Email notifications.<\/strong> Get an email when new feedback or a reply arrives, send alerts to several addresses, and let the person who left feedback know when someone replies.<\/li>\n<li><strong>Status and priority.<\/strong> Move each item through Open, In Progress, Resolved and Closed, and set a priority so the important fixes get done first.<\/li>\n<li><strong>Technical context included.<\/strong> Each report records the page URL, browser, screen size, viewport size and device pixel ratio, which helps you reproduce layout bugs.<\/li>\n<li><strong>Reviewer role and role control.<\/strong> Activation adds a Comment Reviewer role for clients and teammates. From the settings page you can also allow Editors, Authors or any other role to leave feedback.<\/li>\n<li><strong>Simple settings.<\/strong> Change the button label and color, pause the button without deactivating the plugin, and choose who gets notified.<\/li>\n<li><strong>Clean deletion.<\/strong> Deleting feedback also removes its replies, its screenshot file and its image attachment.<\/li>\n<li><strong>Lightweight.<\/strong> The feedback interface only loads for logged in users who are allowed to leave feedback. Regular visitors never see it and never load its scripts.<\/li>\n<li><strong>Self hosted.<\/strong> All data stays in your WordPress database and uploads folder.<\/li>\n<\/ul>\n\n<h4>Who can use it<\/h4>\n\n<ul>\n<li><strong>Administrators<\/strong> can leave feedback, reply, and manage everything in the inbox.<\/li>\n<li><strong>Comment Reviewers<\/strong> can leave feedback and reply on the frontend.<\/li>\n<li><strong>Any other role<\/strong> you enable on the settings page can do the same.<\/li>\n<li>Visitors who are not logged in never see the feedback tools.<\/li>\n<\/ul>\n\n<h4>Privacy<\/h4>\n\n<p>Visual Feedback Pins stores everything on your own site. For each feedback item and reply it saves the reviewer's WordPress name, email and user ID, the page URL and title, the pin position and the selected element, and technical details (browser user agent, screen and viewport size, device pixel ratio and IP address). Screenshots are saved in <code>wp-content\/uploads\/userback\/screenshots\/<\/code>. Image attachments are saved in the Media Library.<\/p>\n\n<p>Nothing is sent to an outside service except Gravatar avatars, explained under External Services below.<\/p>\n\n<h3>External Services<\/h3>\n\n<h4>Gravatar<\/h4>\n\n<p>The feedback interface and admin inbox show user avatars through WordPress's built in avatar feature, which loads images from Gravatar. When an avatar is shown, a hashed version of the user's email address is sent to Gravatar to fetch the image. Gravatar is not used to store or manage feedback.<\/p>\n\n<p>Gravatar is operated by Automattic.<\/p>\n\n<ul>\n<li>Terms of Service: https:\/\/automattic.com\/terms-of-service\/<\/li>\n<li>Privacy Policy: https:\/\/automattic.com\/privacy\/<\/li>\n<\/ul>\n\n<h3>Bundled Library<\/h3>\n\n<p>html2canvas 1.4.1 by Niklas von Hertzen is bundled locally at <code>public\/js\/vendor\/html2canvas.min.js<\/code> and is used to capture the visible page in the user's browser. It is distributed under the MIT license, and the full notice is included in <code>public\/js\/vendor\/html2canvas.LICENSE.txt<\/code>. Existing notices for code bundled within the library are retained.<\/p>\n\n<ul>\n<li>Readable source: https:\/\/github.com\/niklasvh\/html2canvas\/tree\/v1.4.1\/src<\/li>\n<li>Source and build configuration: https:\/\/github.com\/niklasvh\/html2canvas\/tree\/v1.4.1<\/li>\n<li>Build scripts and dependencies: https:\/\/github.com\/niklasvh\/html2canvas\/blob\/v1.4.1\/package.json<\/li>\n<\/ul>\n\n<p>To build the upstream library, clone https:\/\/github.com\/niklasvh\/html2canvas.git, check out tag v1.4.1, run <code>npm install<\/code>, then <code>npm run build<\/code>. The build produces <code>dist\/html2canvas.min.js<\/code> using TypeScript, Rollup and UglifyJS. These tools are only needed to build the library, not to use this plugin.<\/p>\n\n<p>The file is loaded from the plugin folder. It is never downloaded from a CDN at runtime.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>In your WordPress admin, go to <strong>Plugins &gt; Add New<\/strong>, search for <strong>Visual Feedback Pins<\/strong>, then install and activate it.<\/li>\n<li>Open <strong>Visual Feedback Pins<\/strong> in the admin menu to see the inbox.<\/li>\n<li>Optional: open <strong>Visual Feedback Pins &gt; Settings<\/strong> to choose who gets email notifications, which roles can leave feedback, and the button label and color.<\/li>\n<li>To invite a client or teammate, go to <strong>Users<\/strong>, create or edit their account, and set the role to <strong>Comment Reviewer<\/strong>. Administrators can leave feedback right away.<\/li>\n<li>While logged in, visit any page on your site and click the feedback button to leave your first pin.<\/li>\n<\/ol>\n\n<p>No setup is required. The plugin works as soon as it is activated, and email notifications go to the site admin email by default.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20an%20account%20with%20an%20external%20service%3F\"><h3>Do I need an account with an external service?<\/h3><\/dt>\n<dd><p>No. Visual Feedback Pins runs entirely inside your WordPress site. There is no sign up, API key or subscription.<\/p><\/dd>\n<dt id=\"can%20clients%20leave%20feedback%20without%20being%20administrators%3F\"><h3>Can clients leave feedback without being administrators?<\/h3><\/dt>\n<dd><p>Yes. Give their WordPress user the Comment Reviewer role. They can leave and reply to feedback on the frontend but have no access to your settings, content or other admin screens.<\/p><\/dd>\n<dt id=\"will%20i%20get%20an%20email%20when%20someone%20leaves%20feedback%3F\"><h3>Will I get an email when someone leaves feedback?<\/h3><\/dt>\n<dd><p>Yes. By default the site admin email gets an email for every new feedback item and reply. You can add more addresses, turn either alert off, and choose whether the person who left the feedback is emailed when someone replies. Nobody is emailed about their own comments. Emails use your site's normal WordPress mail setup, so if your site cannot send email, install an SMTP plugin.<\/p><\/dd>\n<dt id=\"can%20i%20let%20editors%20or%20other%20roles%20leave%20feedback%3F\"><h3>Can I let Editors or other roles leave feedback?<\/h3><\/dt>\n<dd><p>Yes. Go to Visual Feedback Pins &gt; Settings and tick the roles that should see the feedback button. Administrators always have access.<\/p><\/dd>\n<dt id=\"can%20i%20hide%20the%20feedback%20button%20without%20deactivating%20the%20plugin%3F\"><h3>Can I hide the feedback button without deactivating the plugin?<\/h3><\/dt>\n<dd><p>Yes. Untick Show button in the settings. Existing feedback stays in the inbox and the button comes back when you turn it on again.<\/p><\/dd>\n<dt id=\"can%20visitors%20who%20are%20not%20logged%20in%20leave%20feedback%3F\"><h3>Can visitors who are not logged in leave feedback?<\/h3><\/dt>\n<dd><p>No. To prevent spam, only logged in users with permission can see and use the feedback tools.<\/p><\/dd>\n<dt id=\"will%20regular%20visitors%20see%20the%20feedback%20button%20or%20pins%3F\"><h3>Will regular visitors see the feedback button or pins?<\/h3><\/dt>\n<dd><p>No. The button, pins and scripts load only for logged in users who are allowed to leave feedback.<\/p><\/dd>\n<dt id=\"where%20are%20screenshots%20stored%3F\"><h3>Where are screenshots stored?<\/h3><\/dt>\n<dd><p>Automatic screenshots are stored in <code>wp-content\/uploads\/userback\/screenshots\/<\/code>. They are not added to the Media Library, so your library stays clean.<\/p><\/dd>\n<dt id=\"where%20are%20image%20attachments%20stored%3F\"><h3>Where are image attachments stored?<\/h3><\/dt>\n<dd><p>Images that reviewers attach by hand are stored in the WordPress Media Library.<\/p><\/dd>\n<dt id=\"which%20image%20formats%20can%20be%20attached%3F\"><h3>Which image formats can be attached?<\/h3><\/dt>\n<dd><p>JPG, JPEG, PNG and WebP, up to 5 MB each.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20page%20builders%20like%20elementor%2C%20divi%2C%20bricks%20or%20the%20block%20editor%3F\"><h3>Does it work with page builders like Elementor, Divi, Bricks or the block editor?<\/h3><\/dt>\n<dd><p>Yes. The feedback tools run on the finished frontend page, so they work on any theme or page builder.<\/p><\/dd>\n<dt id=\"why%20does%20a%20screenshot%20look%20slightly%20different%20from%20the%20real%20page%3F\"><h3>Why does a screenshot look slightly different from the real page?<\/h3><\/dt>\n<dd><p>Screenshots are rendered in the browser from the page's HTML and CSS. Some content, such as cross origin iframes, embedded videos or certain advanced CSS effects, may not appear exactly as on screen. The pin position and your comment are always saved accurately.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20feedback%20is%20deleted%3F\"><h3>What happens when feedback is deleted?<\/h3><\/dt>\n<dd><p>The feedback, its replies, its screenshot file and its attached image are all removed.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20feedback%20if%20i%20deactivate%20the%20plugin%3F\"><h3>What happens to my feedback if I deactivate the plugin?<\/h3><\/dt>\n<dd><p>Nothing is deleted. Your feedback and screenshots stay in place and are there again when you reactivate.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>New: Email notifications for new feedback and replies, sent to one or more addresses.<\/li>\n<li>New: Optionally email the person who left feedback when someone replies to it.<\/li>\n<li>New: Settings page to change the button label and color, pause the button, and choose which roles can leave feedback.<\/li>\n<li>New: Getting started notice after activation that explains where to find the feedback button.<\/li>\n<li>New directory screenshots.<\/li>\n<li>Developer: New userback_feedback_created and userback_reply_created actions.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Renamed the plugin to Visual Feedback Pins. The admin menu and page titles now use the new name.<\/li>\n<li>Rewrote the plugin description, installation steps and FAQ.<\/li>\n<li>New plugin icon and banner.<\/li>\n<li>No changes to features or stored data. Existing feedback is untouched.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial public release.<\/li>\n<li>Frontend visual feedback with numbered pins on live pages.<\/li>\n<li>Automatic viewport screenshot capture.<\/li>\n<li>Optional image attachments.<\/li>\n<li>Threaded replies from the frontend and the admin inbox.<\/li>\n<li>Admin inbox with search, status filters, status and priority management.<\/li>\n<li>Comment Reviewer role for clients and teammates.<\/li>\n<li>Screenshot and attachment cleanup when feedback is deleted.<\/li>\n<\/ul>","raw_excerpt":"Pin comments to any spot on your live pages with an automatic screenshot, get email alerts, and track every fix from one admin inbox.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/fa-af.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/377420","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fa-af.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/fa-af.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/fa-af.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=377420"}],"author":[{"embeddable":true,"href":"https:\/\/fa-af.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/wolfiz215"}],"wp:attachment":[{"href":"https:\/\/fa-af.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=377420"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/fa-af.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=377420"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/fa-af.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=377420"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/fa-af.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=377420"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/fa-af.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=377420"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/fa-af.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=377420"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}