EZ Goals
WordPress goal tracking plugin with deadline management and visual urgency indicators
by seth@flexperception.com · github.com/flexseth/ez-goals · website
★ 0stars
0forks
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/flexseth/ez-goals/archive/refs/heads/trunk.zipReadme
EZ Goals - WordPress Goal Tracking Plugin
Add deadline-driven goals to WordPress posts with visual urgency indicators and smart caching.
Features
- 🎯 Custom Goal Block - Gutenberg block for managing goals
- 📅 Multiple Goal Types - Near Term, Long Term, Stretch Goals, Daily Goals
- ⏰ Quick Date Presets - Today, Tomorrow, Next Week, Next Month
- 🎨 Color-Coded Urgency - Visual indicators show deadline proximity
- Grey (7+ days) - Plenty of time
- Blue (3-7 days) - Upcoming
- Yellow (1-3 days) - Approaching
- Orange (<1 day) - Due soon
- 👁️ Editor Preview - See goal display in real-time while editing
- 🎨 Customizable Colors - Settings page to match your theme
- ⚡ Performance Optimized - Smart caching with minimal database queries
- ✅ Mark Complete - Track goal completion
- 🌐 i18n Ready - Fully translatable
Installation
Development Setup
# Clone the repository
git clone https://github.com/yourusername/flexy-ezgoals.git
cd flexy-ezgoals
# Install dependencies
npm install
# Build the plugin
npm run build
WordPress Installation
- Copy the
flexy-ezgoalsfolder to/wp-content/plugins/ - Activate the plugin through the 'Plugins' menu in WordPress
- Add the Goal Block to any post or page
- Manage goals in the Post sidebar panel
Symbolic Link (Development)
# Link to your WordPress plugins directory
ln -s /path/to/flexy-ezgoals /path/to/wordpress/wp-content/plugins/flexy-ezgoals
Usage
Adding Goals
-
In the Editor
- Insert the "Goal Block" in your post
- Open the Post tab in the sidebar (not Block tab)
- Scroll down to the Goals panel
- Fill in Goal Type, Label, and Deadline
- Click "Add Goal"
-
Quick Deadlines
- Use the "Quick Deadline" dropdown for common dates
- Or select "Custom Deadline" for specific date/time
-
Preview
- Goals appear below the block in the editor
- Shows exactly how they'll look on the front-end
Customizing Colors
- Go to Settings → EZ Goals
- Adjust colors for each urgency level
- Save changes
Front-End Display
- Goals automatically appear above post content
- Color-coded by urgency
- Responsive design
- Automatic contrast calculation for readability
Architecture
Storage Strategy
- Post Meta - Goals stored as
_ezgoals_goalspost meta (serialized array) - Transients - Cached "due soon" lists rebuilt daily via cron
- Options API - Color settings stored in
flexy_ezgoals_colors - No custom DB tables - WordPress-native storage only
Performance
- 1 query per page load (cached via WordPress object cache)
- Daily cron rebuilds "due today" transient
- Conditional loading - Front-end CSS only loads when post has goals
REST API
GET /wp-json/flexy-ezgoals/v1/goals/{post_id}- Fetch goalsPOST /wp-json/flexy-ezgoals/v1/goals/{post_id}- Save goals
Development
Build Commands
npm run build # Production build
npm run start # Development watch mode
npm run lint:js # JavaScript linting
npm run lint:css # CSS linting
File Structure
flexy-ezgoals/
├── flexy-ezgoals.php # Plugin bootstrap
├── includes/ # PHP functionality
│ ├── post-meta.php # Goal storage & helpers
│ ├── display.php # Front-end rendering
│ ├── caching.php # Cron & transients
│ ├── rest-api.php # REST endpoints
│ ├── settings.php # Settings page
│ └── enqueue.php # Asset loading
├── src/ # Block source
│ └── goal-block/
│ ├── block.json # Block metadata
│ ├── index.js # Registration
│ ├── edit.js # Editor component
│ └── style.scss # Styles
└── build/ # Compiled assets (generated)
WordPress Requirements
- WordPress: 6.0+
- PHP: 7.4+
- Node.js: 18+ (for development)
Standards & Compliance
- ✅ WordPress Coding Standards (WPCS)
- ✅ Plugin Check Plugin (PCP) compliant
- ✅ Functional paradigm (no OOP)
- ✅ Internationalization (i18n)
- ✅ Accessibility (WCAG AA)
- ✅ Security (nonces, capability checks, sanitization, escaping)
Roadmap
Future Enhancements
- [ ] Custom Post Type option for better scalability
- [ ] Goal templates
- [ ] Goal categories/tags
- [ ] Bulk goal operations
- [ ] Goal statistics/analytics
- [ ] Export/import functionality
- [ ] Email reminders for due goals
Contributing
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
GPL-2.0-or-later
Credits
Built with Claude Code and Claude for WordPress.
Support
- Issues: GitHub Issues
- Documentation: Plugin README
Made with ❤️ for the WordPress community