Transform client feedback into action. Your clients click on any website element to leave comments. You manage everything through a beautiful admin dashboard. No more confusing emails or vague "fix the blue thing" requests.
- Download or clone this repository
- Upload to
/wp-content/plugins/analogwp-site-notes - Activate via WordPress Admin β Plugins
- Configure settings at Site Notes β Settings
- Build assets:
npm install && npm run build
For Clients:
- Look for the toggle button in the WordPress admin bar
- Click it to enable comment mode
- Click any element on the page to add feedback
- Comments are captured automatically with screenshots
For Administrators:
- View all feedback at Site Notes β Dashboard
- Track tasks with status (Open, In Progress, Resolved)
- Reply to comments and update priorities
- Manage user access and settings
- One-click feedback - Click any element to comment
- Automatic screenshots - Context captured with html2canvas
- Smart element detection - CSS selectors and position fallback
- Reply threads - Full conversation support
- User avatars - WordPress Gravatar integration
- Kanban board - Organize by status (Open, In Progress, Resolved)
- Priority levels - High, Medium, Low classification
- Category system - Custom categories for organization
- Task editing - Update comments and details
- Advanced filtering - Search, filter by status/category/priority
- Time logging - Track hours per task
- Persistent storage - All time entries saved to database
- Time reports - View total hours by task/category
- Edit capabilities - Modify or delete time entries
- Role-based access - Configure which roles can see the plugin
- Frontend toggle - Enable/disable comments on frontend
- Secure AJAX - Nonce verification on all requests
- Permission checks - WordPress capability system
- React 18 - Fast, interactive interface
- Toast notifications - Real-time feedback with react-toastify
- Responsive design - Works on all devices
- WordPress integration - Matches admin theme
-
Enable Comment Mode
- Click the toggle button in the WordPress admin bar
- Page overlay appears with instructions
-
Add a Comment
- Click on any element you want to comment on
- A popup appears asking for your comment
- Type your feedback and click "Save Comment"
- Screenshot is automatically captured
-
View Comments
- Existing comments appear as numbered markers
- Click any marker to view details and replies
- Add replies or update status (if permitted)
-
Dashboard Overview
- Access via Site Notes β Dashboard
- View statistics: total tasks, open, in progress, resolved
- Filter by status, category, or priority
- Search across all comments
-
Task Actions
- Edit: Click edit icon to modify task details
- Reply: Add threaded replies with avatars
- Status: Change between Open, In Progress, Resolved
- Delete: Remove tasks (admin only)
- Log Time: Track hours spent on tasks
-
Timesheet
- Access via Site Notes β Timesheet
- View all time entries across tasks
- Filter by date range, task, or user
- Export reports (coming soon)
Access settings at Site Notes β Settings:
- Allowed User Roles: Select which roles can access the plugin
- Enable Frontend Comments: Toggle comments app on frontend
- Categories: Create custom categories (e.g., Design, Content, Bug)
- Priorities: Manage priority levels (High, Medium, Low by default)
- Node.js 14+
- npm or yarn
- WordPress development environment
-
Clone the repository ```bash git clone https://github.com/analogwp/analogwp-site-notes.git cd analogwp-site-notes ```
-
Install dependencies ```bash npm install ```
-
Start development ```bash npm run start ``` This will:
- Watch for file changes
- Auto-compile SCSS to CSS
- Bundle JavaScript with hot reload
-
Build for production ```bash npm run build ```
- `npm run start` - Start development server with watch mode
- `npm run build` - Build optimized production assets
- `npm run format` - Format code with Prettier
- `npm run lint:css` - Lint SCSS files
- `npm run lint:js` - Lint JavaScript files
- `npm run packages-update` - Update WordPress packages
Key PHP Files:
- `analogwp-site-notes.php` - Main plugin file with hooks and helper methods
- `includes/class-database.php` - Database operations
- `includes/class-assets.php` - Asset enqueuing
- `includes/ajax/class-ajax.php` - AJAX endpoint handlers
- `includes/admin/class-admin.php` - Admin menu and pages
React Entry Points:
- `src/frontend.js` - Frontend commenting app
- `src/admin.js` - Admin dashboard and settings
Styles:
- `src/frontend/styles/frontend.scss` - Frontend styles
- `src/admin/styles/admin.scss` - Admin dashboard styles
Custom Color Scheme: ```scss // In your theme or child theme :root { --agwp-sn-primary: #your-brand-color; --agwp-sn-danger: #your-error-color; --agwp-sn-success: #your-success-color; } ```
Extend Functionality: ```php // Add custom comment meta add_filter( 'agwp_sn_comment_data', function( $data ) { $data['custom_field'] = 'custom_value'; return $data; } );
// Modify allowed roles programmatically add_filter( 'agwp_sn_allowed_roles', function( $roles ) { $roles[] = 'shop_manager'; return $roles; } ); ```
Comments Not Saving
Possible Causes:
- User doesn't have proper permissions
- WordPress nonces expired
- Database tables missing
Solutions:
- Check user has access via Settings β Allowed User Roles
- Refresh the page to regenerate nonces
- Deactivate and reactivate plugin to create tables
- Check WordPress debug log for errors
Screenshots Not Capturing
Possible Causes:
- html2canvas library not loaded
- CORS issues with external resources
- Browser doesn't support canvas API
Solutions:
- Check browser console for JavaScript errors
- Ensure all images have proper CORS headers
- Try on a different browser
- Disable browser extensions that might interfere
Toggle Button Missing
Possible Causes:
- User not logged in
- User doesn't have access permissions
- Admin bar disabled
- Frontend comments disabled in settings
Solutions:
- Confirm user is logged in to WordPress
- Check Settings β Allowed User Roles includes user's role
- Enable WordPress admin bar in user profile
- Enable Settings β Enable Frontend Comments
- Clear browser and WordPress caches
Permission Errors in Admin
Error: "You do not have sufficient permissions to access this page"
Solutions:
- Ensure user role is in Settings β Allowed User Roles
- Clear WordPress object cache
- Check if `user_has_access()` method is working: ```php // Add to functions.php temporarily add_action( 'admin_init', function() { if ( class_exists( 'AGWP_SN_Client_Handoff_Toolkit' ) ) { var_dump( AGWP_SN_Client_Handoff_Toolkit::user_has_access() ); } } ); ```
Debug Mode
Enable WordPress debug mode for detailed error logging:
```php // In wp-config.php define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false ); define( 'SCRIPT_DEBUG', true ); ```
Check debug log at `wp-content/debug.log`
We welcome contributions! Here's how to get started:
- Fork the repository
- Create a feature branch: `git checkout -b feature/amazing-feature`
- Make your changes with proper testing
- Commit with descriptive messages: `git commit -m 'Add amazing feature'`
- Push to your branch: `git push origin feature/amazing-feature`
- Open a Pull Request with detailed description
- Follow WordPress Coding Standards
- Write descriptive commit messages
- Add code comments for complex functionality
- Test across multiple browsers and WordPress versions
- Update documentation as needed
- Include screenshots for UI changes
This project is licensed under the GNU General Public License v2.0 or later.
You are free to use, modify, and distribute this plugin under the terms of the GPL. See the LICENSE file for full details.
- π Documentation: This README and inline code comments
- π Bug Reports: Open an issue with reproduction steps
- π‘ Feature Requests: Suggest improvements via GitHub issues
- π¬ Discussions: Join conversations in the issues section
For priority support, custom development, or consulting services, contact the development team.
Built with β€οΈ for WordPress agencies, developers, and their clients.
Making website feedback as simple as point and click.