A WordPress plugin to display a GitHub organization as a plugin catalog. Each repository becomes a separate page with README content, statistics, and a link to GitHub.
- Automatic import of all public repositories from a GitHub organization
- Display README.md content as page content
- Search and filter by categories (based on GitHub topics)
- Gutenberg blocks for embedding anywhere on the site
- Automatic sync (daily, weekly, or monthly)
- REST API for AJAX search
- Download button with latest release version
- Contributors section with avatars
- Screenshots gallery (auto-fetched from repo)
- Requirements display (PHP, WordPress versions)
- Open issues count and link to GitHub Issues
- View counter analytics for each plugin
- Upload the
plugins-showcase-wpfolder to/wp-content/plugins/ - Activate the plugin from the WordPress admin panel
- Go to Plugin Showcase > Settings
- Enter the GitHub organization and (optionally) a token
- Click Sync Now
Enter the organization name or full URL:
your-org-namehttps://github.com/your-org-name
Without a token, the GitHub API has a limit of 60 requests per hour. With a token, the limit is 5000 requests per hour.
- Log in to your GitHub account
- Go to Settings (from the profile menu in the top right)
- In the left menu, select Developer settings (at the bottom)
- Click Personal access tokens > Tokens (classic)
- Click Generate new token > Generate new token (classic)
- Give the token a name (e.g., "WordPress Plugins Showcase")
- Select an expiration period (recommended: 90 days or more)
- Check the following scopes:
public_repo- for access to public repositoriesread:org- for reading organization information
- Click Generate token
- Copy the token immediately! You won't be able to see it again.
- Paste the token in the plugin settings
- Click Test Token to verify it works
Important: Keep the token secret. Do not share it or publish it in code.
Auto Sync - Select the frequency of automatic synchronization:
- Disabled
- Once per day
- Once per week
- Once per month
Skip Forks - Skip forked repositories during sync
Skip Archived - Skip archived repositories during sync
Displays a grid of all plugins with search and filters.
Settings:
- Columns (1-4) - number of columns
- Per Page - plugins per page
- Show Search - display search box
- Show Filters - display category filter
- Category - filter by specific category
- Show Stars - display GitHub stars
- Show Language - display programming language
Displays information about a single plugin.
Settings:
- Select Plugin - choose a plugin
- Show README - display README content
- Show Meta - display statistics
- Plugin archive:
/plugins/ - Single plugin:
/plugins/plugin-name/ - Category:
/plugin-category/category-name/
The plugin provides REST API endpoints:
GET /wp-json/plugins-showcase/v1/plugins
GET /wp-json/plugins-showcase/v1/plugin/{id}Parameters for /plugins:
search- search textcategory- category slugper_page- number of results (default: 12)page- page number (default: 1)
To display screenshots on your plugin pages, add images to one of these folders in your GitHub repository:
.github/screenshots/(recommended)screenshots/assets/screenshots/.wordpress-org/
Name files with numbers for sorting: 01-dashboard.png, 02-settings.png, etc.
See examples/SCREENSHOTS.md for detailed instructions and GitHub Action for automatic screenshot generation.
- Check if you have added a GitHub token
- Re-sync the plugins from Settings > Sync Now
- Check if the repository has a README.md file
Possible causes:
- Security plugin blocking REST API
- .htaccess rules blocking access
Solution: Add an exception for /wp-json/plugins-showcase/ in the security plugin.
Add custom CSS in your theme or use the CSS classes:
.plugins-showcase-grid- grid container.plugins-showcase-card- plugin card.plugins-showcase-single- single page.plugins-showcase-readme- README content
GPL-2.0+