Rssemble Cards for RSS Feeds

外掛說明

Rssemble Cards for RSS Feeds fetches multiple RSS feeds and displays them as image card grids using OGP images. It runs entirely on WordPress built-in features (SimplePie, transients, DOMDocument) — no external services required.

Key features:

  • Aggregates multiple RSS feeds with URL-based deduplication (newest date wins)
  • Automatic OGP image retrieval (priority: media:content enclosure og:image default image)
  • Parallel OGP fetching via curl_multi (respects WP proxy settings and SSL verification)
  • 8 layout types: grid, list, list_vertical, text, text_line, image_only, carousel, popup_grid
  • Responsive layout (3 columns on desktop, 2 on tablet, 1 on mobile — configurable)
  • FSE theme color variable support (–wp–preset–color–*) with fallback
  • Hover zoom + shadow effect on cards
  • Transient-based caching (no WP-Cron required)
  • Configurable RSS cache duration (12 hours / 1 day / 1 week / 1 month)
  • OGP image URL cached for 1 month (includes negative cache for failed fetches)
  • Stale cache fallback when a feed fetch fails
  • Admin UI with live preview (desktop / tablet / mobile width switching)
  • Compatible with object cache (Redis, Memcached) and Cloudflare

Usage

Basic:

[rssecafo]

With parameters:

[rssecafo columns="4" count="8"]
[rssecafo columns="2" count="6" feed="https://example.com/feed"]
[rssecafo orderby="random" target="_self"]

Parameter reference:

  • columns : Number of columns (2 / 3 / 4). Default: admin setting.
  • count : Number of items to display. Default: admin setting.
  • feed : Comma-separated feed URL(s). Default: all registered feeds.
  • orderby : Sort order (date / random). Default: date.
  • target : Link target (_blank / _self). Default: admin setting.
  • type : Display type (grid / list / list_vertical / text / text_line / image_only / carousel / popup_grid).
  • date : Show date (1 / 0). Default: 1.
  • site : Show site name (1 / 0). Default: 0.
  • desc : Show description (1 / 0). Default: 0.
  • bold : Bold title (1 / 0). Default: 0.
  • responsive : Responsive columns (1 / 0). Default: 1.
  • title_lines: Maximum title lines (1 / 2 / 3). Default: admin setting.
  • img : Override default image URL.

安裝方式

  1. Upload the rssemble-cards-for-rss-feeds folder to /wp-content/plugins/, or install via Plugins > Add New > Upload Plugin.
  2. Activate the plugin from the Plugins screen.
  3. Go to Settings > Rssemble Cards and configure your feed URLs.
  4. Add the shortcode to any post, page, or widget.

常見問題集

No image is displayed

If the RSS feed contains no image and the article’s og:image cannot be fetched, the default image configured in the admin settings (or the bundled placeholder) is shown.

How do I clear the cache immediately?

Go to Settings > Rssemble Cards and click Refresh Now. This clears the RSS cache; OGP image cache (1-month fixed) is not affected.

Does it use WP-Cron?

No. Feeds are fetched on demand when the shortcode runs and the cache is missing or expired.

使用者評論

這個外掛目前沒有任何使用者評論。

參與者及開發者

以下人員參與了開源軟體〈Rssemble Cards for RSS Feeds〉的開發相關工作。

參與者

將〈Rssemble Cards for RSS Feeds〉外掛本地化為台灣繁體中文版

對開發相關資訊感興趣?

任何人均可瀏覽程式碼、查看 SVN 存放庫,或透過 RSS 訂閱開發記錄

變更記錄

1.0.2

  • Fixed: Admin feed URL input now rejects non-http/https schemes (mirrors the shortcode SSRF guard).
  • Fixed: Carousel and popup_grid JavaScript event listeners no longer accumulate on repeated admin preview refreshes (dataset init guard added).
  • Fixed: Admin preview carousel/popup now initializes correctly on first load (moved init call into $.ajax callback).
  • Fixed: OGP fetcher to_absolute_url() now normalizes ../ segments in relative paths without over-popping past the root, preventing malformed image URLs.
  • Fixed: popup_grid modal overlay (position:fixed) now renders outside the container-type wrapper to correctly cover the full viewport.
  • Fixed: carousel/popup_grid global event listeners (window resize, document keydown) are now properly torn down when nodes are removed from the DOM (AbortController + MutationObserver).
  • Improved: Responsive layout now uses CSS Container Queries (@container) instead of @media, so the admin preview device-width switcher correctly triggers layout changes. A @supports not (container-type: inline-size) fallback ensures older browsers retain responsive behavior.

1.0.1

  • Fixed: Shortcode name in readme (was [rss_display], now correctly [rssecafo]).
  • Improved: Admin help text and Usage tab now clarify the difference between admin-panel feed registration and the feed= shortcode attribute.
  • Code: Removed dead data-i18n attributes on child elements inside i18n-translated parents (docs page).
  • Code: Admin notice markup refactored to use shared CSS class instead of inline styles.

1.0.0

  • Initial release.