https://github.com/virtuallycreative/qf-gbp-wp
A WordPress plugin that provides a shortcode and an Elementor widget for rapid in-person customer feedback.
https://github.com/virtuallycreative/qf-gbp-wp
Last synced: 8 months ago
JSON representation
A WordPress plugin that provides a shortcode and an Elementor widget for rapid in-person customer feedback.
- Host: GitHub
- URL: https://github.com/virtuallycreative/qf-gbp-wp
- Owner: VirtuallyCreative
- License: gpl-2.0
- Created: 2025-08-28T16:05:42.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-09-23T17:51:19.000Z (9 months ago)
- Last Synced: 2025-09-23T18:29:44.354Z (9 months ago)
- Language: PHP
- Size: 243 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
- Notice: NOTICE.md
Awesome Lists containing this project
README
# ๐ ReviewFlow.me - Quick Feedback Reviews
**Transform customer feedback into Google Business Profile reviews with intelligent routing**
[](https://wordpress.org/)
[](https://php.net/)
[](https://www.gnu.org/licenses/gpl-2.0.html)
[](https://elementor.com/)
[](https://www.w3.org/WAI/WCAG21/quickref/)
---
_A powerful WordPress plugin that provides a shortcode and Elementor widget for rapid in-person customer feedback with smart routing to Google Business Profile reviews. Features kiosk mode for tablets and real-time WCAG accessibility checking._
[๐ **Get Started**](#installation) โข [๐ **Documentation**](#usage) โข [๐จ **Customization**](#customization-options) โข [๐ ๏ธ **Support**](#support)
---
## ๐ Table of Contents
- [โจ Key Features](#-key-features)
- [๐ How It Works](#-how-it-works)
- [๐ Installation](#-installation)
- [๐ Usage](#-usage)
- [Shortcode Usage](#shortcode-usage)
- [Elementor Integration](#elementor-integration)
- [๐จ Customization Options](#-customization-options)
- [๐ Security & Privacy](#-security--privacy)
- [๐ฉโ๐ป Developer Features](#-developer-features)
- [โ FAQ](#-frequently-asked-questions)
- [๐ธ Screenshots](#-screenshots)
- [๐ Changelog](#-changelog)
- [๐ ๏ธ Support](#-support)
---
## โจ Key Features
### ๐ฏ **Smart Rating System**
- โญ 5-star rating interface with intelligent routing
- ๐ Dual workflow for optimal customer experience
- ๐ฑ Mobile-responsive design
### ๐ก๏ธ **Security & Privacy**
- ๐ฏ Honeypot anti-spam protection
- โฑ๏ธ Time-trap bot prevention
- ๐ Nonce verification & input sanitization
- ๐ช๐บ GDPR-compliant consent management
### โฟ **Accessibility First**
- ๐ WCAG 2.1 AA compliant
- โจ๏ธ Full keyboard navigation support
- ๐ข Screen reader announcements
- ๐จ High contrast mode support
### ๐ **Multiple Integration Options**
- ๐ Shortcode: `[quick_feedback]`
- ๐จ Elementor Widget with visual controls
- ๐ฆ Block Editor compatible
- ๐ฅ๏ธ **NEW:** Kiosk mode for tablets
### ๐จ **Highly Customizable**
- ๐จ CSS variables & color schemes
- ๐ Typography customization
- ๐ฌ Custom text & messages
- ๐ Adjustable spacing controls
### ๐จโ๐ป **Developer Friendly**
- ๐ช Action & filter hooks
- ๐ REST API endpoint
- ๐ JavaScript events
- ๐ง Extensible architecture
### ๐ **Intelligent Workflow**
```mermaid
graph LR
A["Customer sees rating interface"] --> B{"Rating given"}
B -->|"1-3 stars"| C["Private feedback form"]
B -->|"4-5 stars"| D["Success message"]
C --> E["Email notification to admin"]
D --> F["Redirect to Google Business Profile"]
D --> G["QR Code display - Kiosk mode"]
```
## ๐ How It Works
### ๐ฑ **Step-by-Step Process**
| Step | Action | Result |
| ------ | ------------------------------ | ---------------------------------------------- |
| **1๏ธโฃ** | Customer sees rating interface | Large, accessible 5-star selector displayed |
| **2๏ธโฃ** | **Low ratings (1-3 stars)** | Shows feedback form with optional contact info |
| **3๏ธโฃ** | **High ratings (4-5 stars)** | Shows success message + redirect/QR code |
| **4๏ธโฃ** | Admin notification | Email sent with feedback details (low ratings) |
| **5๏ธโฃ** | Optional logging | Submissions stored in WordPress database |
### ๐ฏ **Perfect For**
๐ช **Retail Stores** โข ๐ฝ๏ธ **Restaurants** โข ๐ฅ **Healthcare** โข ๐จ **Hospitality** โข ๐ง **Service Businesses**
## ๐ Usage
### ๐ **Shortcode Usage**
๐ฝ Basic & Advanced Examples
#### ๐ **Basic Usage**
```php
[quick_feedback]
```
#### ๐จ **With Custom Styling**
```php
[quick_feedback brand_color="#ff6b35" redirect_target="_blank" show_contact="false"]
```
#### ๐ฅ๏ธ **Kiosk Mode (Perfect for Tablets)**
```php
[quick_feedback kiosk_mode="true" qr_code_image="https://example.com/qr-code.png"]
```
๐ฝ All Available Attributes
| Attribute | Type | Description | Example |
| ---------------------- | ------- | ------------------------------------ | ------------------------------------------- |
| `gbp_url` | URL | Override Google Business Profile URL | `gbp_url="https://g.page/..."` |
| `redirect_target` | String | `"_self"` or `"_blank"` for redirect | `redirect_target="_blank"` |
| `brand_color` | Color | Custom brand color (hex code) | `brand_color="#ff6b35"` |
| `show_contact` | Boolean | Show/hide contact fields | `show_contact="false"` |
| `headline` | String | Custom main headline | `headline="Rate Your Experience"` |
| `subhead` | String | Custom subheading text | `subhead="Help us improve"` |
| `success_message_low` | String | Success message for low ratings | `success_message_low="Thanks for feedback"` |
| `success_message_high` | String | Success message for high ratings | `success_message_high="Please review us!"` |
| `kiosk_mode` | Boolean | Enable kiosk mode (QR code) | `kiosk_mode="true"` |
| `qr_code_image` | URL | Custom QR code image for kiosk | `qr_code_image="https://..."` |
### ๐จ **Elementor Integration**
**๐ฏ Drag & Drop Widget with Visual Controls**
#### ๐ **Content Settings**
- ๐ฐ Headlines & messages
- ๐ URLs & redirects
- ๐ฅ๏ธ Kiosk mode options
#### ๐จ **Style Controls**
- ๐จ Colors & branding
- ๐ Spacing & layout
- ๐ Typography settings
#### โ๏ธ **Behavior Options**
- ๐ Contact field settings
- ๐ Redirect preferences
- ๐ก๏ธ Privacy controls
#### ๐๏ธ **Real-time Preview**
- โ
Live editor preview
- ๐ฏ WCAG contrast checking
- ๐ฑ Responsive design
## ๐ Security & Privacy
**๐ก๏ธ Enterprise-Grade Security with Privacy-First Design**
### ๐ **Security Features**
- โ
**Nonce Verification** - All submissions verified
- ๐ฏ **Honeypot Protection** - Invisible spam traps
- โฑ๏ธ **Time-trap Prevention** - Blocks bot submissions
- ๐งน **Input Sanitization** - All data cleaned & validated
- ๐ฎ **Capability Checks** - Admin function protection
- ๐ **URL Validation** - Google domain allowlist
### ๐ช๐บ **GDPR Compliance**
- ๐ช **No Cookies Required** - Basic functionality cookie-free
- ๐ **Optional Logging** - Can be completely disabled
- ๐ **Clear Privacy Notices** - Transparent data usage
- โ๏ธ **Consent Checkboxes** - User permission controls
- ๐๏ธ **Data Retention** - Admin-controlled storage
- ๐ **Privacy-First** - Minimal data collection
### ๐ **Compliance Standards**
[](https://gdpr.eu/)
[](https://www.w3.org/WAI/WCAG21/quickref/)
[](https://wordpress.org/about/security/)
## ๐จ Customization Options
**๐ฏ Make it uniquely yours with extensive customization options**
### ๐จ **Visual Styling**
- ๐ **Colors** - Brand, star, button colors
- ๐ **Typography** - Inherit theme or customize
- ๐ **Spacing** - Adjustable spacing scale
- ๐ญ **CSS Variables** - Advanced customization
### ๐ฌ **Content & Text**
- ๐ฐ **Headlines** - Custom main & sub headings
- ๐ฌ **Messages** - Success & error messages
- ๐ท๏ธ **Labels** - Form field labels
- ๐ **Translation** - Full i18n support
### โ๏ธ **Behavior Settings**
- ๐ **Contact Fields** - Required/optional
- โ๏ธ **Consent Options** - GDPR compliance
- ๐ **Redirect Settings** - Target & timing
- ๐ฅ๏ธ **Kiosk Mode** - Tablet-friendly options
## ๐ฉโ๐ป Developer Features
**๐ง Built for developers with extensible architecture**
### ๐ช **WordPress Hooks**
๐ฝ Action Hooks
```php
// Before email is sent
do_action('qfr_before_email_send', $email_data, $submission);
// After submission is processed
do_action('qfr_submission_processed', $submission_id, $rating, $feedback);
```
๐ฝ Filter Hooks
```php
// Customize email subject
apply_filters('qfr_email_subject', $subject, $rating, $feedback);
// Modify redirect URL
apply_filters('qfr_redirect_url', $url, $rating);
// Customize widget configuration
apply_filters('qfr_widget_config', $config, $widget_id);
```
### ๐ **JavaScript Events**
```javascript
// Listen for rating changes
document.addEventListener("qfr:ratingChanged", function (e) {
console.log("Rating:", e.detail.rating);
});
// Low rating submitted
document.addEventListener("qfr:lowRatingSubmitted", function (e) {
// Custom analytics tracking
});
// High rating submitted
document.addEventListener("qfr:highRatingSubmitted", function (e) {
// Custom success actions
});
```
### ๐ **REST API Endpoint**
```bash
# Custom integrations
POST /wp-json/qfr/v1/submit-feedback
```
## ๐ Installation
### ๐ฆ **Quick Setup**
๐ฝ Click to expand installation steps
1. **๐ Upload Plugin**
```
Upload files to: /wp-content/plugins/quick-feedback-reviews/
```
2. **โก Activate Plugin**
- Go to WordPress Admin โ Plugins
- Find "ReviewFlow.me - Quick Feedback Reviews"
- Click "Activate"
3. **โ๏ธ Configure Settings**
- Navigate to **Settings โ Quick Feedback**
- Add your Google Business Profile URL
- Customize colors, text, and behavior
4. **๐ฏ Add to Pages**
- Use shortcode: `[quick_feedback]`
- Or add Elementor widget to your pages
### ๐ **Getting Your Google Business Profile URL**
๐ฝ Step-by-step guide
1. ๐ Go to your [Google Business Profile dashboard](https://business.google.com/)
2. ๐ Click on **"Get more reviews"**
3. ๐ Copy the provided URL (starts with `https://search.google.com/` or `https://g.page/`)
4. ๐ Paste it in the plugin settings
**โ
Supported URL formats:**
- `https://search.google.com/local/writereview?placeid=...`
- `https://g.page/your-business/review`
- `https://maps.app.goo.gl/...`
## โ Frequently Asked Questions
**๐ก Quick answers to common questions**
๐ How do I get my Google Business Profile review URL?
1. Go to your [Google Business Profile dashboard](https://business.google.com/)
2. Look for the **"Get more reviews"** option
3. Copy the provided direct URL
4. Paste it in the plugin settings
**โ
Accepted URL formats:**
- `https://search.google.com/local/writereview?placeid=...`
- `https://g.page/your-business/review`
- `https://maps.app.goo.gl/...`
๐จ Can I customize the appearance to match my theme?
**Absolutely!** The plugin is designed to:
- ๐จ Inherit your theme's typography and colors by default
- โ๏ธ Allow customization through settings page
- ๐ฏ Provide Elementor widget controls for visual editing
- ๐ง Support CSS variables for advanced customization
โฟ Is the plugin accessible for users with disabilities?
**Yes!** Built with WCAG 2.1 AA compliance:
- โจ๏ธ **Keyboard Navigation** - Full keyboard support for star ratings
- ๐ข **Screen Reader Support** - Proper announcements and labels
- ๐ท๏ธ **ARIA Labels** - Proper roles and descriptions
- ๐ฏ **Focus Management** - Clear focus indicators
- ๐ **High Contrast** - Support for high contrast modes
๐ Does the plugin store customer data?
**Privacy-first approach:**
- ๐ง By default: Only sends email notifications
- ๐พ Optional: Enable submission logging in settings
- ๐ช๐บ GDPR-compliant with proper consent management
- ๐ช No cookies required for basic functionality
๐จ Can I use this plugin without Elementor?
**Yes!** The plugin works perfectly with:
- ๐ **Shortcode** - `[quick_feedback]` works anywhere
- ๐ฆ **Block Editor** - Compatible with Gutenberg
- ๐จ **Elementor** - Enhanced visual controls (optional)
๐ก๏ธ What spam protection is included?
**Multiple layers of protection:**
- ๐ฏ **Honeypot Fields** - Invisible to humans, catch bots
- โฑ๏ธ **Time-trap Protection** - Prevents too-fast submissions
- ๐ **Nonce Verification** - WordPress security tokens
- ๐งน **Input Validation** - All data sanitized and validated
๐ Can I translate the plugin?
**Fully internationalized:**
- ๐ All text strings use WordPress translation functions
- ๐ Ready for translation with standard WordPress tools
- ๐๏ธ `.pot` file included in `/languages/` directory
๐ The 4-5 star redirect isn't working. What should I check?
**Troubleshooting steps:**
1. โ
Valid Google Business Profile URL in Settings โ Quick Feedback
2. ๐ URL should start with approved domains (see above)
3. ๐ Check browser developer console (F12) for JavaScript errors
4. ๐ Enable Debug Mode in plugin settings
5. ๐ป Local testing (.local domain) should still work - check console
๐ช I'm getting a "Cookie check failed" error when submitting feedback
**Usually a nonce/security token issue:**
1. ๐ Refresh the page and try again
2. ๐งน Clear your browser cache
3. ๐๏ธ Clear caching plugin cache if using one
4. ๐ก๏ธ Check for interfering security plugins
5. ๐ Enable Debug Mode for detailed error information
๐ง How do I troubleshoot issues?
**Debug process:**
1. โ๏ธ Go to **Settings โ Quick Feedback** and enable **"Debug Mode"**
2. ๐ Try to reproduce the issue
3. ๐ Check WordPress debug log (`/wp-content/debug.log`)
4. ๐ Look for entries starting with **"[QFR]"**
5. ๐ Check browser developer console (F12) for JavaScript errors
## ๐ธ Screenshots
**๐ฏ See the plugin in action**
| Screenshot | Description |
| ------------------------- | --------------------------------------------------------------- |
| ๐ **Rating Interface** | Clean, accessible 5-star rating selector with smooth animations |
| ๐ **Feedback Form** | Low rating feedback form with optional contact fields |
| โ๏ธ **Settings Page** | Comprehensive plugin configuration with live preview |
| ๐จ **Elementor Widget** | Visual controls in Elementor editor with real-time preview |
| ๐ง **Email Notification** | Rich HTML email template for low rating feedback |
| โ
**Success Messages** | Customizable success messages for different rating levels |
| ๐ฅ๏ธ **Kiosk Mode** | Tablet-friendly interface with QR code display |
| โฟ **Accessibility** | WCAG contrast checker and keyboard navigation demo |
_๐ท Screenshots coming soon! Plugin is actively maintained and updated._
## ๐ Changelog
**๐ Latest updates and improvements**
### ๐ **Version 1.0.5** - _Kiosk Mode Release_
๐ฝ View all changes
#### โจ **NEW: Kiosk Mode**
- ๐ฅ๏ธ Perfect for tablets and shared devices in physical locations
- ๐ฑ Shows QR code instead of redirecting for 4-5 star ratings
- โ๏ธ Global kiosk mode setting with QR code image upload
- ๐จ Per-widget kiosk mode override in Elementor
- ๐ Shortcode support: `[quick_feedback kiosk_mode="true"]`
- ๐ Enhanced security for shared device environments
- ๐ช Ideal for restaurants, shops, waiting areas, service counters
- ๐ฒ Customers scan QR code with personal phone to leave reviews
- ๐ฑ Responsive QR code display with clear instructions
---
### ๐จ **Version 1.0.4** - _Accessibility Enhancement_
๐ฝ View all changes
#### โฟ **NEW: Real-time Accessibility Checker**
- ๐ฏ Live WCAG contrast checking in Elementor editor
- ๐ฆ Visual indicators: AAA (green), AA (yellow), FAIL (red)
- ๐ Coverage of all 13 color controls across sections
- ๐ Real-time updates when navigating Elementor sections
- ๐ Debug console respects plugin's debug mode setting
- ๐ Enhanced WCAG 2.1 AA compliance features
- ๐งฎ Improved color contrast calculations with gamma correction
- ๐ก Tooltips with detailed WCAG guidelines and ratios
---
### ๐ง **Version 1.0.2** - _Email Testing_
๐ฝ View all changes
#### ๐งช **Email Configuration Testing**
- โ
"Send Test Email" button in Settings โ Quick Feedback
- โก Real-time feedback on email success/failure
- ๐ Detailed error reporting for troubleshooting
- ๐ Improved email delivery diagnostics
---
### ๐จ **Version 1.0.1** - _Elementor Enhancements_
๐ฝ View all changes
#### ๐ **New Elementor Controls**
- ๐ **Typography Section:**
- Headline Typography
- Subhead Typography
- Button Typography
- **NEW:** Form Label Typography
- **NEW:** Form Input Typography
- ๐จ **Style Section:**
- Brand Color
- Active Star Color
- Inactive Star Color
- Button Border Radius
- Spacing
- ๐ **NEW: Form Colors Section:**
- Label Color
- Input Text Color
- Input Background Color
- Input Border Color
- Input Focus Border Color
- Placeholder Color
---
### ๐ **Version 1.0.0** - _Initial Release_
๐ฝ View all features
#### ๐ **Core Features**
- โญ 5-star rating system with smart routing
- ๐ Shortcode and Elementor widget support
- ๐ง Email notifications for low ratings
- ๐ Google Business Profile integration
- โฟ Accessibility features (WCAG 2.1 AA)
- ๐ก๏ธ Anti-spam protection
- ๐ Privacy-focused design
- ๐จ Comprehensive customization options
- ๐จโ๐ป Developer hooks and filters
- ๐ Internationalization support
---
## ๐ ๏ธ Support
**๐ฌ Get help when you need it**
### ๐ **Bug Reports & Issues**
- ๐ [GitHub Issues](https://github.com/vip3rousmango/quick-feedback-reviews/issues)
- ๐ Detailed bug reporting template
- ๐ Fast response times
### ๐ก **Feature Requests**
- ๐ [GitHub Discussions](https://github.com/vip3rousmango/quick-feedback-reviews/discussions)
- ๐ณ๏ธ Community voting on features
- ๐ฃ๏ธ Public roadmap
### ๐ **Documentation**
- ๐ Comprehensive guides
- ๐ฅ Video tutorials (coming soon)
- ๐ป Code examples
### ๐ค **Community**
- ๐ฌ WordPress.org support forum
- ๐ฆ Follow updates on social media
- ๐ง Direct developer contact
[](https://github.com/vip3rousmango/quick-feedback-reviews/issues)
[](https://github.com/vip3rousmango/quick-feedback-reviews/stargazers)
---
## ๐ Privacy Policy
**๐ก๏ธ Transparent data handling practices**
### ๐ **Data Collection**
This plugin may collect and process the following data **only when feedback is submitted**:
| Data Type | Purpose | Required |
| ------------------------------------ | ----------------------- | ----------- |
| โญ Rating value (1-5 stars) | Feedback processing | โ
Yes |
| ๐ฌ Feedback message | Low rating responses | โ Optional |
| ๐ค Contact info (name, email, phone) | Follow-up communication | โ Optional |
| ๐ Page URL | Context tracking | โ
Yes |
| โฐ Timestamp | Submission tracking | โ
Yes |
| ๐ User agent & IP | Spam prevention | โ
Yes |
### ๐ **Data Usage**
- ๐ง **Contact information** is only used for follow-up when consent is given
- ๐๏ธ **Data logging** can be completely disabled in plugin settings
- ๐ซ **No tracking** of users who don't submit feedback
- ๐ช **No cookies** required for basic functionality
---
## ๐ Credits
**๐ Built with love for the WordPress community**
---
### ๐จโ๐ป **Developer**
**[Al Romano](https://virtuallycreative.ca)** - _Lead Developer_
[](https://virtuallycreative.ca)
[](https://github.com/vip3rousmango)
---
### ๐ ๏ธ **Built With**
- ๐ฏ **WordPress Coding Standards** - Following best practices
- ๐ **Security First** - Comprehensive security measures
- โฟ **Accessibility** - WCAG 2.1 AA compliance
- ๐ **Performance** - Optimized for speed
- ๐ **Internationalization** - Translation-ready
---
### ๐ **Special Thanks**
- ๐ WordPress community for feedback and support
- ๐จ Elementor team for excellent widget API
- โฟ Web accessibility advocates for guidance
- ๐งช Beta testers and early adopters
---
**โญ If you find this plugin helpful, please consider leaving a review!**