{"id":31892534,"url":"https://github.com/pablob07/kickwp","last_synced_at":"2026-04-12T22:32:37.407Z","repository":{"id":317583340,"uuid":"1060918261","full_name":"PabloB07/KickWP","owner":"PabloB07","description":"WP Plugin using kick.com API it show you channel info in real time \u0026 more.","archived":false,"fork":false,"pushed_at":"2025-09-20T21:27:46.000Z","size":15,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-01T20:57:03.471Z","etag":null,"topics":["kick-com","php","wordpress","wp-plugin"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PabloB07.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-20T21:27:43.000Z","updated_at":"2025-09-20T21:30:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"511caba5-241f-4f14-bfc9-743212b6900b","html_url":"https://github.com/PabloB07/KickWP","commit_stats":null,"previous_names":["pablob07/kickwp"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/PabloB07/KickWP","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PabloB07%2FKickWP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PabloB07%2FKickWP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PabloB07%2FKickWP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PabloB07%2FKickWP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PabloB07","download_url":"https://codeload.github.com/PabloB07/KickWP/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PabloB07%2FKickWP/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279014289,"owners_count":26085492,"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-13T02:00:06.723Z","response_time":61,"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":["kick-com","php","wordpress","wp-plugin"],"created_at":"2025-10-13T08:52:47.378Z","updated_at":"2025-10-13T08:52:48.572Z","avatar_url":"https://github.com/PabloB07.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# KickWP - WordPress Plugin\r\n\r\nA WordPress plugin that integrates with the Kick.com API using OAuth 2.1 to manage and display channel information directly from your WordPress admin dashboard.\r\n\r\n## Features\r\n\r\n- **OAuth 2.1 Authentication**: Secure authentication using industry-standard OAuth 2.1 flow\r\n- **Channel Management**: View all Kick.com channels in a beautiful grid layout with advanced filtering\r\n- **Real-time Data**: Fetch live channel information including viewer counts and stream status\r\n- **Metadata Updates**: Update channel metadata directly from WordPress (stream title, category, tags)\r\n- **Advanced Search**: Search channels by slug, user ID, or filter by categories\r\n- **Categories Integration**: Full integration with Kick.com categories API for filtering\r\n- **Shortcodes**: Embed channels anywhere using [kickwp_channel] shortcode\r\n- **CSS Customization**: Customize styling to match your WordPress theme\r\n- **Responsive Design**: Works perfectly on desktop and mobile devices\r\n- **Caching System**: Built-in caching to reduce API calls and improve performance\r\n\r\n## Installation\r\n\r\n1. Download the plugin files\r\n2. Upload the `kickwp` folder to your `/wp-content/plugins/` directory\r\n3. Activate the plugin through the WordPress admin dashboard\r\n4. Go to **KickWP \u003e Settings** to configure your API token\r\n\r\n## Configuration\r\n\r\n### OAuth 2.1 Setup\r\n\r\n1. Visit [Kick.com Developer Portal](https://docs.kick.com/getting-started/kick-apps-setup) to create an application\r\n2. Get your Client ID and Client Secret from the developer portal\r\n3. **Important**: Set the Redirect URI in your Kick app to: `https://yoursite.com/wp-admin/admin.php?page=kickwp-channels`\r\n   (replace `yoursite.com` with your actual domain)\r\n4. In your WordPress admin, go to **KickWP \u003e Settings**\r\n5. Enter your Client ID and Client Secret\r\n6. Verify the Redirect URI matches what you set in the Kick Developer Portal\r\n7. Click **Connect to Kick.com** to authorize the application\r\n8. Set your preferred cache duration (1-60 minutes)\r\n\r\n### Required Scopes\r\n\r\nThe plugin requires the following OAuth scopes:\r\n- `channel:read` - To fetch channel information\r\n- `channel:edit` - To update channel metadata\r\n- `user:read` - To access user information\r\n\r\n## Usage\r\n\r\n### Viewing Channels\r\n\r\n1. Navigate to **KickWP \u003e Channels** in your WordPress admin\r\n2. The plugin will automatically load your channels\r\n3. Use the **Refresh Channels** button to get the latest data\r\n4. Use the **Search Channels** feature to find specific channels\r\n\r\n### Editing Channel Metadata\r\n\r\n1. Click the **Edit** button on any channel card\r\n2. Modify the stream title, description, category, or tags\r\n3. Click **Update Channel** to save changes\r\n4. Changes are immediately reflected on Kick.com\r\n\r\n### Using Categories\r\n\r\n1. Categories are automatically loaded from Kick.com API\r\n2. Use the category filter dropdown to show only channels from specific categories\r\n3. Categories include Gaming, Music, Art, Technology, Sports, and more\r\n\r\n### Channel Information Displayed\r\n\r\n- Stream title and description\r\n- Live/offline status with viewer count\r\n- Channel category\r\n- Stream thumbnail\r\n- Channel slug\r\n- Custom tags\r\n\r\n## Shortcodes\r\n\r\nEmbed Kick.com channels anywhere in your posts or pages using shortcodes:\r\n\r\n### Basic Channel Display\r\n```\r\n[kickwp_channel slug=\"channelname\"]\r\n```\r\n\r\n### Advanced Shortcode Options\r\n```\r\n[kickwp_channel slug=\"channelname\" show_thumbnail=\"true\" show_description=\"true\" show_viewers=\"true\" class=\"my-custom-class\"]\r\n```\r\n\r\n**Parameters:**\r\n- `slug` (required): Channel slug or username\r\n- `show_thumbnail` (optional): Show stream thumbnail (default: true)\r\n- `show_description` (optional): Show channel description (default: true)\r\n- `show_viewers` (optional): Show viewer count when live (default: true)\r\n- `class` (optional): Custom CSS class for styling\r\n\r\n### CSS Customization\r\n\r\nCustomize the appearance of shortcodes by adding CSS in **KickWP \u003e Settings \u003e CSS Customization**:\r\n\r\n```css\r\n.kickwp-channel-widget {\r\n    border: 2px solid #your-color;\r\n    background: #your-background;\r\n}\r\n\r\n.kickwp-watch-button {\r\n    background: #your-brand-color;\r\n}\r\n```\r\n\r\n## API Integration\r\n\r\nThe plugin integrates with the Kick.com Public API v1:\r\n\r\n- **GET** `/public/v1/channels` - Fetch channel information\r\n- **PATCH** `/public/v1/channels` - Update channel metadata\r\n\r\nAll API calls include proper error handling and authentication.\r\n\r\n## Security Features\r\n\r\n- Nonce verification for all AJAX requests\r\n- User capability checks (admin only)\r\n- Sanitized input data\r\n- Secure API token storage\r\n- Rate limiting through caching\r\n\r\n## Troubleshooting\r\n\r\n### Common Issues\r\n\r\n1. **\"OAuth configuration incomplete\"**\r\n   - Go to KickWP \u003e Settings and enter your Client ID and Client Secret\r\n   - Ensure the Redirect URI matches exactly what you registered in Kick Developer Portal\r\n\r\n2. **\"invalid_grant\" error during OAuth**\r\n   - This usually means the Redirect URI doesn't match what you registered in Kick Developer Portal\r\n   - Check that the Redirect URI in your Kick app settings is exactly: `https://yoursite.com/wp-admin/admin.php?page=kickwp-channels`\r\n   - Make sure there are no extra spaces or characters\r\n\r\n3. **\"OAuth not configured or token expired\"**\r\n   - Click \"Connect to Kick.com\" to reauthorize the application\r\n   - Check if your OAuth application is properly configured in Kick Developer Portal\r\n\r\n4. **\"Unauthorized\" error**\r\n   - Verify your OAuth scopes include channel:read and channel:edit\r\n   - Try reconnecting your account\r\n\r\n4. **\"No channels found\"**\r\n   - Verify you have channels on your Kick.com account\r\n   - Check if your OAuth scopes allow access to channel data\r\n   - Try searching for specific channels using the search function\r\n\r\n5. **\"Categories not loading\"**\r\n   - Ensure your OAuth token has the necessary permissions\r\n   - Check your internet connection and try refreshing\r\n\r\n6. **Caching issues**\r\n   - Use the Refresh Channels button to clear cache\r\n   - Adjust cache duration in settings\r\n\r\n7. **Shortcode not working**\r\n   - Ensure you are connected via OAuth\r\n   - Check that the channel slug is correct\r\n   - Verify the shortcode syntax is correct\r\n   - Try clearing your site cache if using a caching plugin\r\n\r\n8. **\"Untitled Stream\" in channel cards**\r\n   - This has been fixed in version 2.1.0\r\n   - The plugin now properly displays stream titles and channel descriptions\r\n   - If you still see this, try refreshing the channels\r\n\r\n9. **Edit button showing for all channels**\r\n   - This has been fixed in version 2.1.0\r\n   - Edit buttons now only show for channels you own\r\n   - \"Your Channel\" indicator shows which channels belong to you\r\n\r\n10. **Broken images in channel cards**\r\n    - This has been fixed in version 2.1.0\r\n    - Fallback avatars are now shown when images fail to load\r\n    - Images have better error handling and loading states\r\n\r\n### Debug Mode\r\n\r\nEnable WordPress debug mode to see detailed error messages:\r\n```php\r\ndefine('WP_DEBUG', true);\r\ndefine('WP_DEBUG_LOG', true);\r\n```\r\n\r\n## File Structure\r\n\r\n```\r\nkickwp/\r\n├── kickwp.php              # Main plugin file\r\n├── assets/\r\n│   ├── css/\r\n│   │   └── admin.css       # Admin interface styles\r\n│   └── js/\r\n│       └── admin.js        # Admin interface functionality\r\n└── README.md               # This file\r\n```\r\n\r\n## Requirements\r\n\r\n- WordPress 5.0 or higher\r\n- PHP 7.4 or higher\r\n- Valid Kick.com OAuth 2.1 application with appropriate scopes\r\n- HTTPS connection (required for OAuth 2.1)\r\n\r\n## Changelog\r\n\r\n### Version 1.0.0\r\n- Initial release with basic API token authentication\r\n- Channel viewing and management\r\n- Metadata updates\r\n- Basic search functionality\r\n- Responsive admin interface\r\n\r\n## Support\r\n\r\nFor support and bug reports, please check the WordPress plugin directory or contact the plugin author.\r\n\r\n## License\r\n\r\nThis plugin is licensed under the GPL v2 or later.\r\n\r\n## Contributing\r\n\r\nContributions are welcome! Please submit pull requests or report issues on the plugin repository.\r\n\r\n---\r\n\r\n**Note**: This plugin requires a valid Kick.com API token with the appropriate permissions to function correctly. Make sure to keep your API token secure and never share it publicly.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpablob07%2Fkickwp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpablob07%2Fkickwp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpablob07%2Fkickwp/lists"}