Beschrijving
SDAweb Social Galleri Feed connects to the Instagram Graph API via a Facebook Page Access Token and displays your posts in a customizable grid gallery with lightbox. Built for speed — feeds load instantly on cached pages with zero network requests.
Features
Layout & Design
* Multiple layouts — Grid, masonry, and highlight modes
* Responsive columns — Separate settings for desktop, laptop, tablet, and mobile
* Profile header — Avatar, username, follower count, bio, and follow button
* Hover effects — Overlay on image hover with gradient
* Color pickers — Customize likes icon, comments icon, and date text colors
Lightbox
* Fullscreen lightbox — Carousel navigation with keyboard and swipe support
* Swipe-up-to-close — Mobile-native gesture
* Engagement stats — Likes, comments, media type badge, and relative date
Content & Filtering
* Multiple feeds — Use feed_id attribute for independent feeds on different pages
* Hashtag filtering — Include or exclude posts by hashtag
* Media type filter — Filter by image, video, or carousel
* Load more — Paginated loading with customizable button
Performance
* Instant loading — Server-side inline JSON, zero network requests on cache hit
* REST API endpoint with legacy AJAX fallback
* Stale-while-revalidate — Expired cache served instantly while refreshing
* WP-Cron background refresh — Cache stays warm automatically
* Smart fetch limit — Only requests what’s needed from the API
* Lazy loading and incremental grid rendering
* Per-IP rate limiting
Localization
* All 30+ frontend strings configurable in admin (Norwegian defaults)
* Relative timestamps and month names customizable
Security
* Bearer token authentication — API token sent via Authorization header
* CSRF protection — check_admin_referer() on all admin actions
* XSS prevention — textContent used instead of innerHTML, all output escaped
* Clean uninstall — Removes all options, transients, and cron jobs
Accessibility
* Full keyboard navigation in lightbox and gallery
* ARIA labels and screen reader support
* Respects prefers-reduced-motion
Shortcode
[sdawsoga_gallery]
Shortcode Attributes
feed_id— Unique ID for independent gallery instanceslimit— Number of posts to display (default: 9)columns— Number of columns (default: 3)layout— grid, masonry, or highlightaspect_ratio— square, portrait, instagram, or originalpadding— Gap between images in pixelsshow_header— Show/hide profile header (true/false)show_loadmore— Show/hide load more button (true/false)hover_effect— Enable/disable hover overlay (true/false)filter_type— all, image, video, or carouselhashtag— Only show posts containing this hashtagexclude_hashtags— Comma-separated hashtags to exclude
Requirements
- A Facebook Page connected to an Instagram Business or Creator account
- A valid Facebook Page Access Token with
instagram_basicpermission - PHP 7.4+ and WordPress 5.8+
Third-Party Services
This plugin connects to the Instagram Graph API (via Facebook) to retrieve your Instagram posts, profile information, and engagement metrics.
- Service: Instagram Graph API / Facebook Graph API
- Website: https://developers.facebook.com/
- Terms of Use: https://developers.facebook.com/terms/
- Privacy Policy: https://www.facebook.com/privacy/policy/
When data is sent: When the plugin refreshes the feed cache (via WP-Cron background refresh or manual cache clear in the admin panel). With default settings, this happens approximately once per hour.
What data is sent: Your Facebook Page Access Token and Instagram Business Account ID are sent to Facebook’s servers to authenticate and retrieve your posts.
No visitor data is collected or transmitted. The plugin does not track site visitors or send any visitor information to external services.
Schermafbeeldingen
Installatie
- Upload the
sdaweb-social-galleri-feedfolder to/wp-content/plugins/ - Activate the plugin through the Plugins menu
- Go to Settings > Social Galleri to configure
- Enter your Facebook Page Access Token and click Test Connection
- Add
[sdawsoga_gallery]to any page or post
For token setup instructions, see the built-in setup guide in the plugin’s API settings tab.
FAQ
-
Why do likes and comments show 0?
-
The Instagram Graph API only returns engagement metrics for accounts owned by the token holder.
-
Can I use multiple feeds on the same site?
-
Yes. Use the
feed_idattribute:[sdawsoga_gallery feed_id="homepage"]. Each feed operates independently. -
How do I change the language?
-
Go to Settings > Social Galleri > Translations and update any string.
-
Does it work with page builders?
-
Yes. The shortcode works in Elementor, WPBakery, Divi, and any builder that supports WordPress shortcodes.
-
How fast does the feed load?
-
Feed data is embedded in the page HTML when the cache is warm (nearly always, thanks to WP-Cron background refresh), so it loads instantly with zero network requests. The plugin uses stale-while-revalidate: expired cache is served immediately while fresh data is fetched in the background. With a 1-hour cache, the API is called about once per hour via WP-Cron — not per visitor.
Beoordelingen
Er zijn geen beoordelingen voor deze plugin.
Bijdragers & ontwikkelaars
“SDAweb Social Galleri Feed” is open source software. De volgende personen hebben bijgedragen aan deze plugin.
BijdragersVertaal “SDAweb Social Galleri Feed” naar jouw taal.
Interesse in de ontwikkeling?
Bekijk de code, haal de SVN repository op, of abonneer je op het ontwikkellog via RSS.
Changelog
4.7.8
- Clear Cache now immediately re-fetches feed data — works reliably when WP-Cron is disabled (DISABLE_WP_CRON).
- Reduced API page size from 100 to 33 posts per request — prevents “reduce data” errors on accounts with carousel/children data.
- Clear Cache shows actual API error message on failure instead of generic text.
- Improved “Posts to show” description — clarifies Load More batch behavior and sync relationship.
4.7.5
- Responsive “Posts to show” — 6-breakpoint system matching responsive columns (desktop, laptop, tablet landscape, tablet portrait, mobile landscape, mobile portrait).
- Debounced resize handler recalculates visible posts on viewport change, preserving Load More state.
- Access token masked in admin HTML source (credential security hardening).
- Unsaved changes warning (beforeunload) in admin settings.
- Fixed stale [TG Admin] prefix in debug log.
- Replaced trademark dashicon (dashicons-instagram) with generic icon.
- Corrected author header format to match WordPress.org standard.
4.7.3
- Max posts to sync increased from 50 to 300 with automatic API pagination.
- Improved admin description for sync setting.
4.7.2
- Admin UI redesign: quick-access pill bar, tabbed Plugin Overview card (Layouts, Lightbox, Content, Performance, Security, Shortcodes), collapsible info cards, info tooltips on technical terms, shortcode reference table with parameter docs
- Fixed unprefixed variables in uninstall.php
- Added missing contributor to readme.txt
4.7.1
- Removed Plugin URI header to comply with WordPress.org guidelines (was identical to Author URI)
4.7.0
- Added: Video badge on grid items — shows a “Video” badge on VIDEO posts (toggle in Advanced > Carousel & Video)
- Added: Keyboard support for carousel dots — dots are focusable with Tab, activatable with Enter/Space
- Added: Default hashtag and exclude filters — set global defaults in Layout tab, shortcode attributes override
- Added: Cache refresh failure counter — red inline count shown in API tab cache status when consecutive failures > 0
4.6.0
- Added: Content moderation — blacklist words filter hides posts with blocked words/phrases
- Added: Video autoplay on hover — muted video preview plays when hovering over video posts in the grid
- Added: Carousel autoplay in lightbox — auto-advance slides with configurable interval and progress bar
- Added: Persistent API failure notice — warning shown on settings page when feed refresh fails 3+ times consecutively
4.5.4
- Fixed missing JS, template, and include files that were absent from the 4.5.3 SVN tag
- Whitespace and trailing-space cleanup across CSS, PHP, and JS files
4.5.3
- Renamed all frontend CSS classes and variables from generic tg- prefix to unique sdawsoga- prefix for better namespace compliance
4.5.2
- Fixed fatal error: wp_salt() called before pluggable.php is loaded
- Deferred cron scheduling to init hook for compatibility with all hosting environments
4.5.1
- Removed custom CSS editor per WordPress.org guidelines
- Fixed inline CSS escaping with wp_strip_all_tags()
- Fixed main plugin filename to match plugin slug
- Fixed settings link URL on Plugins page
4.5.0
- Security: Constant definition guards, CSS sanitizer hardened, IP validation, error code sanitization
- Fixed: XSS — lightbox and caption rendering switched to DOM element creation
- Added: 6-breakpoint responsive column cascade via CSS variables
- Improved: Conditional asset loading, smart cache clearing
4.4.0
- Max posts to sync setting, translatable post counter, improved cache status and mobile follow button
4.3.1
- WordPress.org trademark compliance: renamed plugin, added directory protection and license
4.3.0
- Inline JSON feed loading, REST API endpoint, stale-while-revalidate caching, WP-Cron background refresh
4.2.0
- Lightbox engagement stats, translations tab, swipe-up-to-close, security hardening (Bearer auth, CSRF, XSS)
4.1.0
- Initial release with grid/masonry/highlight layouts, lightbox, profile header, responsive columns





