Automatic blogroll synchronization with Feedbin API.
No external dependencies required - uses WordPress native meta fields and admin interface.
- Automatic Synchronization: Daily sync with Feedbin API
- Custom Post Type: Dedicated 'blogroll' post type with native WordPress meta fields
- Responsive Grid Layout: 4-column desktop, 2-column mobile design
- OPML Export: Export your blogroll as OPML file
- Category Support: Organize blogs by categories and tags
- Shortcodes: Easy integration with
[blogroll]and[blogroll_grid]shortcodes - REST API: Access blogroll data via WordPress REST API
- Admin Dashboard: Comprehensive management interface
- Security: Nonces, capability checks, and data sanitization
- Performance: Optimized caching and conditional loading
- Accessibility: WCAG 2.1 AA compliant with ARIA support
- WordPress 6.0 or higher
- PHP 8.2 or higher (minimum requirement)
- Feedbin account with API access
- Upload the plugin files to
/wp-content/plugins/feed-to-blogroll/ - Activate the plugin through the 'Plugins' screen in WordPress
- Go to 'Blogroll > Settings' to configure your Feedbin API credentials
- Use the
[blogroll]shortcode to display your blogroll on any page
- You can define
FEED_TO_BLOGROLL_FETCH_TAGSin wp-config.php to disable fetching Feedbin tags (reduces API calls):
define( 'FEED_TO_BLOGROLL_FETCH_TAGS', false );When defined, the plugin will skip per-feed tag requests and use only core subscription data.
- You can also define credentials in wp-config.php to avoid storing them in the database:
define( 'FEED_TO_BLOGROLL_USERNAME', 'your-email@example.com' );
define( 'FEED_TO_BLOGROLL_PASSWORD', 'your-secure-password' );When defined, the corresponding fields in Settings are locked (read-only).
[blogroll]
[blogroll_grid category="technology" columns="3" limit="9"]
[blogroll columns="2" limit="6" show_export="false"]
| Parameter | Type | Default | Description |
|---|---|---|---|
category |
string | "" |
Filter by category slug |
limit |
integer | -1 |
Maximum number of blogs to display |
columns |
integer | 4 |
Number of columns (1-6) |
show_export |
boolean | true |
Show OPML export button |
Access your blogroll data programmatically:
GET /wp-json/feed-to-blogroll/v1/blogroll
GET /wp-json/feed-to-blogroll/v1/blogroll?category=tech&limit=10
### Blocks
- Block: Blogroll (`feed-to-blogroll/blogroll`)
- Attributes:
- `category` (string): filter by category slug (default: all)
- `limit` (number): number of blogs to display (-1 for all)
- `columns` (number): 1–6 (default: 4)
- `showExport` (boolean): show OPML export button (default: true)
Insert the “Blogroll” block from the inserter and configure these options in the sidebar. Assets (CSS/JS) load automatically when the block/shortcode is present.
This plugin collects and stores:
- Feedbin API credentials (stored in WordPress options)
- Blog metadata from RSS feeds
- Synchronization logs and timestamps
- API credentials are stored until removed in settings or plugin uninstallation
- Blog data is retained according to WordPress post lifecycle
- Sync logs are kept for 30 days by default
- Feedbin API: Used for RSS feed synchronization
- No data is shared with other third-party services
- Users can export their blogroll data via OPML
- Users can request data deletion through WordPress admin
- No personal data is collected beyond what's necessary for functionality
When deleting the plugin from WordPress Admin, all plugin data is removed:
- Options:
feed_to_blogroll_options - Custom post type entries (
blogroll) and related taxonomies - Scheduled events and transients
- Semantic HTML structure with proper heading hierarchy
- ARIA labels and roles for interactive elements
- Keyboard navigation support for all features
- Screen reader compatibility with descriptive text
- High contrast support and focus indicators
- ARIA-compliant structure for lists and items; keyboard navigation on cards
- Descriptive alt text for all images
- ARIA live regions for dynamic content updates
- Proper form labeling and error messaging
- Semantic markup for navigation and content structure
- Tab order follows logical content flow
- All interactive elements accessible via keyboard
- Skip links for main content areas
- Focus indicators visible on all focusable elements
- PHP 8.2+
- Composer
- WordPress development environment
- Clone the repository:
git clone https://github.com/jaz-on/feed-to-blogroll.git
cd feed-to-blogroll- Install dependencies:
composer install- Run code quality checks:
composer phpcs
composer phpcbfThe plugin follows WordPress coding standards and includes comprehensive error handling. Test thoroughly in a development environment before deploying to production.
We welcome contributions! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- Issues: GitHub Issues
- Repository: GitHub Repository
This project is licensed under the GPL v2 or later - see the LICENSE file for details.
Jason Rouet
- Website: jasonrouet.local
- GitHub: @jaz-on
Built with WordPress best practices and integrated with the Distributed theme.