{"id":31830633,"url":"https://github.com/ntamasm/enhanced-tag-selector","last_synced_at":"2026-05-15T08:37:37.193Z","repository":{"id":316031029,"uuid":"1060153812","full_name":"ntamasM/enhanced-tag-selector","owner":"ntamasM","description":"WordPress plugin to replace the default tag-picker with an enhanced, searchable, and sortable tag selector UI, with multilingual support and responsive design.","archived":false,"fork":false,"pushed_at":"2025-10-08T13:17:37.000Z","size":59,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-08T15:12:53.963Z","etag":null,"topics":["plugin","plugins","plugins-wordpress","wordpress","wordpress-development","wordpress-plugin"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ntamasM.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-19T13:15:08.000Z","updated_at":"2025-10-08T13:10:36.000Z","dependencies_parsed_at":"2025-09-22T10:18:29.814Z","dependency_job_id":"8e887550-ac8a-4558-8b8a-a48f0870538a","html_url":"https://github.com/ntamasM/enhanced-tag-selector","commit_stats":null,"previous_names":["ntamasm/enhanced-tag-selector"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/ntamasM/enhanced-tag-selector","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ntamasM%2Fenhanced-tag-selector","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ntamasM%2Fenhanced-tag-selector/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ntamasM%2Fenhanced-tag-selector/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ntamasM%2Fenhanced-tag-selector/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ntamasM","download_url":"https://codeload.github.com/ntamasM/enhanced-tag-selector/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ntamasM%2Fenhanced-tag-selector/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279008830,"owners_count":26084516,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-11T02:00:06.511Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["plugin","plugins","plugins-wordpress","wordpress","wordpress-development","wordpress-plugin"],"created_at":"2025-10-11T21:20:52.453Z","updated_at":"2026-05-15T08:37:37.186Z","avatar_url":"https://github.com/ntamasM.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Enhanced Tag Selector\n\nA WordPress plugin that replaces the default \"Choose from the most used tags\" functionality with an enhanced, user-friendly tag selection interface.\n\n## Features\n\n- **Enhanced Tag Browser**: Replace the basic tag cloud with a comprehensive tag selector\n- **Auto-Tagging**: Automatically adds relevant tags to posts published without tags based on content matching\n- **Multiple Sorting Options**:\n  - Alphabetical A-Z\n  - Alphabetical Z-A\n  - Most Used First\n  - Least Used First\n- **Smart Search**: Real-time search functionality with debouncing\n- **Selection Management**: Selected tags are automatically removed from the options to prevent duplicate selection\n- **Responsive Design**: Works seamlessly on desktop and mobile devices\n- **Modern UI**: Clean, intuitive interface with smooth animations\n- **Multilingual Support**: Full internationalization with built-in translations for Greek, Spanish, French, and German\n\n## Support the Project\n\nIf you find this plugin helpful, please consider supporting its development:\n\n[![Support Me](https://img.shields.io/badge/Support-♥-red?style=for-the-badge)](https://ntamadakis.gr/support-me)\n\nYour support helps maintain and improve this open-source project!\n\n## Installation\n\n1. Download the latest version from the [GitHub Releases](https://github.com/ntamasM/enhanced-tag-selector/releases) page:\n\n   - Go to the releases page\n   - Download the newest version (`.zip` file)\n\n2. Install the plugin through WordPress admin:\n\n   - Go to `Plugins \u003e Add New`\n   - Click \"Upload Plugin\"\n   - Choose the downloaded `.zip` file\n   - Click \"Install Now\"\n\n3. Activate the plugin:\n\n   - Click \"Activate Plugin\" after installation\n   - Or go to `Plugins \u003e Installed Plugins`, find \"Enhanced Tag Selector\", and click \"Activate\"\n\n**Alternative for developers**: You can also clone this repository directly to your `wp-content/plugins/` directory if you want the development version.\n\n## Usage\n\n1. **Creating/Editing Posts**:\n\n   - Go to `Posts \u003e Add New` or edit an existing post\n   - In the Tags metabox (usually in the sidebar), you'll see a \"See All Tags\" link\n   - Click this link to open the enhanced tag selector\n\n2. **Using the Tag Selector**:\n\n   - **Search**: Type in the search box to filter tags by name\n   - **Sort**: Use the dropdown to change sorting (Most Used First, Alphabetical, etc.)\n   - **Select Tags**: Click on any tag to add it to your post\n   - **Auto-removal**: Selected tags disappear from the list to prevent accidental re-selection\n\n3. **Sorting Options**:\n\n   - **Most Used First**: Tags with the highest post count appear first\n   - **Least Used First**: Tags with the lowest post count appear first\n   - **Alphabetical A-Z**: Tags sorted alphabetically from A to Z\n   - **Alphabetical Z-A**: Tags sorted alphabetically from Z to A\n\n4. **Auto-Tagging Feature**:\n   - When you publish a post without any tags, the plugin automatically analyzes the content\n   - It searches through all existing tags and matches them against the post content\n   - **Smart Fuzzy Matching**: Handles Greek grammatical variations (e.g., \"Μέση Ανατολή\" matches \"Μέσης Ανατολής\")\n   - **Multi-language Support**: Works with Greek, English, and other UTF-8 languages\n   - The top 10 most relevant tags (based on word frequency in the content) are automatically added\n   - This feature only works when publishing posts with NO tags - it won't override manual tag selection\n   - Weighs title matches higher than content matches for better relevance\n\n## Technical Details\n\n### Files Structure\n\n```\nenhanced-tag-selector/\n├── enhanced-tag-selector.php    # Main plugin file\n├── includes/\n│   ├── class-helper.php         # Helper functions and AJAX handlers\n│   └── class-auto-tagger.php    # Auto-tagging functionality\n├── templates/\n│   └── modal-template.php       # Modal HTML template\n├── assets/\n│   ├── js/\n│   │   └── enhanced-tag-selector.js    # Frontend JavaScript\n│   └── css/\n│       └── enhanced-tag-selector.css   # Styling\n├── languages/                   # Translation files\n│   ├── enhanced-tag-selector.pot       # Translation template\n│   ├── enhanced-tag-selector-el.po     # Greek translation\n│   ├── enhanced-tag-selector-el.mo     # Greek compiled translation\n│   ├── enhanced-tag-selector-es_ES.po  # Spanish translation\n│   ├── enhanced-tag-selector-fr_FR.po  # French translation\n│   ├── enhanced-tag-selector-de_DE.po  # German translation\n│   └── README.md                       # Translation guide\n└── README.md                    # This file\n```\n\n### WordPress Hooks Used\n\n- `admin_enqueue_scripts`: Load CSS and JavaScript\n- `wp_ajax_ets_get_tags`: Handle AJAX requests for tag data\n- `admin_footer`: Inject the modal HTML\n- `publish_post`: Auto-tag posts when published without tags\n- `save_post`: Check and auto-tag posts on save\n\n### Browser Compatibility\n\n- Chrome 60+\n- Firefox 55+\n- Safari 12+\n- Edge 79+\n\n## Languages \u0026 Translation\n\nThe Enhanced Tag Selector supports multiple languages out of the box:\n\n### Included Languages\n\n- **English** (Default)\n- **Greek (Ελληνικά)** - Complete translation ✅\n- **Spanish (Español)** - Complete translation ✅\n- **French (Français)** - Complete translation ✅\n- **German (Deutsch)** - Complete translation ✅\n\n### How to Use\n\nThe plugin automatically detects your WordPress language setting and displays the interface in the appropriate language. To change the language:\n\n1. Go to WordPress Admin → Settings → General\n2. Set \"Site Language\" to your preferred language\n3. Clear any caching plugins\n4. The Enhanced Tag Selector will automatically display in your chosen language\n\n### Contributing Translations\n\nWant to add support for your language? See the `languages/README.md` file for detailed instructions on creating and contributing translations.\n\n## Customization\n\n### Styling\n\nThe plugin includes comprehensive CSS that can be customized by:\n\n1. Editing `assets/css/enhanced-tag-selector.css`\n2. Adding custom CSS to your theme's stylesheet\n3. Using WordPress Customizer additional CSS\n\n### JavaScript Events\n\nThe plugin triggers custom JavaScript events you can listen to:\n\n- `ets:modal:opened` - When the tag selector modal opens\n- `ets:tag:selected` - When a tag is selected\n- `ets:modal:closed` - When the modal is closed\n\n### PHP Filters\n\nFuture versions may include filters for:\n\n- Tag query arguments\n- Modal content\n- Sorting options\n\n## Troubleshooting\n\n### Tags Not Loading\n\n- Check browser console for JavaScript errors\n- Verify WordPress AJAX is working properly\n- Ensure the plugin is activated\n\n### Modal Not Opening\n\n- Check if jQuery is loaded\n- Verify no JavaScript conflicts with other plugins\n- Try deactivating other plugins temporarily\n\n### Search Not Working\n\n- Clear browser cache\n- Check for JavaScript errors\n- Verify AJAX endpoint is responding\n\n## Development\n\n### Local Development Setup\n\n1. Clone the repository\n2. Set up a local WordPress environment\n3. Symlink or copy the plugin to your plugins directory\n4. Activate and test\n\n### Contributing\n\nThis is an open-source project! We welcome contributions:\n\n1. Fork the [repository](https://github.com/ntamasM/enhanced-tag-selector)\n2. Create a feature branch\n3. Make your changes\n4. Test thoroughly\n5. Submit a pull request\n\nTypes of contributions welcome:\n\n- 🐛 Bug fixes\n- ✨ New features\n- 📚 Documentation improvements\n- 🌍 Translations\n- 🎨 UI/UX enhancements\n\n## Changelog\n\n### Version 0.2.0\n\n- **NEW**: Auto-tagging feature - Automatically adds relevant tags when publishing posts without tags\n- **NEW**: Fuzzy matching support for Greek and international languages\n- **NEW**: Handles grammatical variations (e.g., Μέση Ανατολή matches Μέσης Ανατολής)\n- Improved UTF-8 character support\n- Enhanced debugging and logging\n\n### Version 0.0.1\n\n- Initial release\n- Basic tag selection with sorting\n- Search functionality\n- Responsive design\n- Auto-removal of selected tags\n\n## License\n\nThis plugin is licensed under the GPL v2.\n\n## Support\n\nFor technical support and bug reports, please create an issue on the [GitHub repository](https://github.com/ntamasM/enhanced-tag-selector).\n\n### Support the Development\n\nIf you find this plugin useful and want to support its continued development:\n\n🎯 **[Support Me](https://ntamadakis.gr/support-me)** - Help keep this project alive!\n\nYour contribution helps:\n\n- 🚀 Add new features\n- 🐛 Fix bugs faster\n- 📚 Improve documentation\n- 🌍 Add more language translations\n\n---\n\n**Author**: [Ntamas](https://ntamadakis.gr)  \n**Version**: 0.2.0  \n**WordPress Compatibility**: 6.0+  \n**PHP Compatibility**: 7.4+\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fntamasm%2Fenhanced-tag-selector","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fntamasm%2Fenhanced-tag-selector","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fntamasm%2Fenhanced-tag-selector/lists"}