X Feed Gallery

Show the posts of an X (Twitter) account as a WordPress gallery. Each tweet is imported with its text, date, likes, reposts and first photo.

Visual Portfolio, Posts & Image Gallery for WordPress
Author Nikita By Nikita
Date 7 months ago
RT @lochieaxon: It’s time to bring Haptics to the web 🫨 Create custom tactile patterns with strengths + durations for your web interactions…
Author Nikita By Nikita
Date 9 months ago
RT @baptistebriel: New site. 100% Figma inspired, 100% Cursor built. Press ⌘ + scroll at https://t.co/0bmLBAk60f https://t.co/5MrXeSk2AM
Author Nikita By Nikita
Date 2 years ago
Talk with your WordPress block editor using AI. Create sections, enhance existing ones, and improve texts. Just a for-fun plugin built in spare time: https://t.co/mVe6xAN9gF https://t.co/2AKzN39uGx
Author Nikita By Nikita
Date 2 years ago
RT @LazyBlocksWP: v3.8.0 is now available! https://t.co/vtrc0UFgNt We have switched to @lemonsqueezy as our merchant of record. All existing l…
Author Nikita By Nikita
Date 3 years ago
@kinetic_screen Hey, the plugin has settings to change slugs of taxonomies. Please learn more here → https://t.co/nzIrmzUsX8
Author Nikita By Nikita
Date 3 years ago
RT @onuro: Going the other way around, light mode added to https://t.co/JjebHP78MC 😀 PS: The site uses zero pagebuilders but 100% @WooCom…

An X feed gallery pulls the tweets of one account through the X API and stores each as a Social Item, a post type of its own. Text, date, like and repost counts and the first photo come across with it. After that the posts are local. The block that lays out your photo galleries lays out the tweets, so the skin and the pagination are settings rather than markup x.com hands you.

That is the difference from an embedded timeline, which arrives as an iframe you cannot turn into a masonry grid. Reading tweets does need a paid X API tier, because the free one returns nothing. The same importer runs Instagram, YouTube, Flickr and the rest, each with a demo on the social feeds overview.

Fields, limits and what arrives

The X tab is short. Two keys, a handle, a count, and the API decides the rest. Every field and its default is on the X connection page.

  • Max Tweets takes 1 to 100 and defaults to 30. Ask for more and the request fails.
  • Account Name is the handle without the @, so nkdevv for x.com/nkdevv.
  • A tweet with no media is imported anyway and falls back to the Placeholder Image from Settings, General. A video tweet arrives with its preview image.
  • Downloaded files land in a folder per network under wp-content/uploads/visual-portfolio-pro/ and register in the Media Library, which grows a Social filter. How social feeds work has the rest.
  • Order by offers Date or Title, with the direction on DESC.
  • All Items stops at Max Tweets, and a Filter element prints nothing, because imported items carry no categories.

Three steps from the Developer Portal to the block

  1. In the X Developer Portal, create a project and an app, then copy its API Key and API Key Secret. Older screens call that pair Consumer Key and Consumer Secret. The plan on the app has to allow reads.
  2. Open Settings → Social Feeds → X and click + Connect. Paste both keys, type the Account Name without the @, set Max Tweets, then Save Changes. Saving starts the first import in the background.
  3. Add a Visual Portfolio block, pick the Social content source, then the X network and the account you just connected. If the block reports no items, open Visual Portfolio → Social Items and press Sync All Accounts.

The importer is the paid part

Almost all of the gallery above ships in the free plugin. Masonry, the Classic skin, the author line, paged pagination and Saved Layouts cost nothing. What carries a price is the Social content source that fills it, and that lives in Pro, one plugin which already contains the free one rather than an add-on beside it. The free versus Pro comparison has the split feature by feature, and the pricing page has the tiers.

  • Settings → Social Feeds, where the account is connected, appears only under a license.
  • So do Social Items and Social Profiles, the screens holding each tweet and its author details.
  • The sync schedule, the image download and the cache purge for WP Rocket, LiteSpeed and three other cache plugins sit in the same module.
  • Everything after the import runs without one. Move the layout to justified or drop the block into Elementor on the free build.

What people ask about X feeds

How fast does a new tweet appear?

A full sync runs on WP-Cron every two hours, five accounts per run, and a five minute job refreshes one account whose data is older than three hours. Saving the Social Feeds settings imports a new account at once, and Sync All Accounts runs one on demand. WP-Cron fires only when somebody visits the site, so a quiet site syncs late. A real cron job puts the schedule back on the clock.

Can I edit a tweet after it is imported?

Yes. On the Social Items screen you can rewrite the title and content, replace the featured image, change the Format between Image and Video, and correct the Original Post URL. A sync only adds new tweets and never overwrites an existing item, so your version stays. The rule cuts both ways. A caption you fix on X will not follow it here, and Purge Cache on the account deletes its items and imports them fresh.

Why are like counts not shown?

Like counts and repost counts arrive with the tweet and are kept on the item, but no skin prints them. An item can display the image, title, description, date and the author with a link to the profile. A comments count is available on YouTube, Vimeo and Flickr, a views count on YouTube and Flickr, and X gets neither.