How social feeds work

Import

Each connected account has a Max setting (Max Medias, Max Videos, Max Photos, Max Posts, Max Tweets): how many of the newest posts the plugin asks the network for, 30 by default, up to 200. The plugin fetches that many, creates one Social Item per post and queues its image for download.

Only new posts are added on later syncs. A post that already exists as a Social Item is not updated: a changed caption, a new like count or a deleted post on the network does not change the item. To re-import an account from scratch, click Purge Cache on it in Settings → Social Feeds; this deletes its Social Items, and the items of every source galleries picked from it, and imports them again.

Unsplash is the exception: its photos are never stored as Social Items or files. They are hot-linked from Unsplash with the required attribution, and the list is refreshed every three hours.

Feeds and sources

Available in Visual Portfolio Pro 3.9.0 and later.

A feed is what one gallery shows: an account and a source. For YouTube, Vimeo, Flickr, VK, Twitch and Unsplash, each gallery picks its source in the block, under Account. See Social.

  • A gallery that keeps the first Source option shows the account’s own feed. For YouTube that is the channel videos, for VK the wall, and for an account saved with a source, that source.
  • Every other source is a feed of its own, with its own Social Items. Two galleries that pick the same source share one feed.
  • Instagram, X, Dribbble and RSS accounts have one feed each.

Every YouTube, Vimeo, Flickr, VK or Twitch source you preview in the editor is fetched and kept in Social Items, even if you pick another one before you save the page.

Storage

WhatWhere
PostsVisual Portfolio → Social Items, a post type of its own (vp_social_item). Not public; visitors only see them inside galleries
Images and videoswp-content/uploads/visual-portfolio-pro/<network>/, registered in the Media Library as the item’s featured image. The Media Library’s filter dropdown gets a Social entry once one exists
Account dataVisual Portfolio → Social Profiles (username, profile URL, bio, avatar; the avatar is downloaded too)
SettingsThe Social Feeds settings tab

Until an image has been downloaded the item shows the Placeholder Image from Settings → General.

Instagram video links expire after a while. The plugin downloads a local copy and, during sync, refreshes links that are within a day of expiring, so Reels keep playing.

When the sync runs

TriggerWhat runs
Saving the Social Feeds settingsAn import, right away, of every new, changed or still empty account that has its own feed: Instagram, X, Dribbble, RSS, YouTube channel videos, the VK wall, and accounts saved with a source. When you change an account, the sources galleries picked from it are imported again
The first editor preview of a YouTube, Vimeo, Flickr, VK or Twitch sourceA fetch of that source inside the editor. It saves the first page of posts and downloads up to 12 of their images; the rest is queued
A page view that shows a source for the first time, or after 30 days without viewsA sync of that source, scheduled right away
WP-Cron, every 2 hoursEvery feed shown in the last 30 days whose last sync is older than 2 hours, five feeds per run, the rest a minute later
WP-Cron, every 5 minutesA refresh of one account’s own feed, or one Unsplash source, shown in the last 30 days, whose data is older than 3 hours (1 hour for RSS)
Sync Now on the Social Items screenEvery feed shown in the last 30 days, now

A feed counts as shown when WordPress builds a page or an editor preview with its gallery. A page that a cache serves without running WordPress does not count. Instagram, X, Dribbble and RSS accounts, and accounts saved with a source, also count as shown on the day you first save them. A feed that no gallery showed for 30 days keeps its Social Items but stops syncing until a page with its gallery is viewed again.

Item creation and downloads are background jobs that the site triggers by calling itself (loopback requests). If WP-Cron is disabled without a real cron, or the host blocks loopback requests, imports stay queued. See CRON.

Instagram access tokens last 60 days and are renewed daily when fewer than 10 days remain; Twitch tokens are renewed hourly. Both renewals are scheduled the first time the settings are saved.

Removing and excluding

  • Trash a Social Item: it disappears from galleries and is skipped by future syncs. Restore it to include it again.
  • Delete permanently: the next sync imports the post again, unless you also tick Recreate deleted items off. To keep a post out for good, leave it in the Trash or use Exclude from Sync.
  • Bulk actions on the Social Items list: Exclude from Sync, Include in Sync.
  • Remove an account in Settings → Social Feeds: its Social Items and the downloaded files stay. Trash the items on the Social Items screen if you do not need them.

Page caches

When new images have been downloaded, the plugin purges the pages that contain a social gallery from LiteSpeed Cache, W3 Total Cache, WP Fastest Cache, WP Super Cache and WP Rocket. Other caches need a manual purge or a short TTL for those pages.

Upgrading from versions before 3.5.0

Feeds cached the old way (in the options table) are migrated to Social Items automatically, in batches of 20 every two minutes, account by account. Galleries keep showing the old cache until an account’s migration is complete. Nothing to do.

Was this page helpful?