=== Social Media Feeds, Google Reviews & Social Wall – CollectSocials ===
Contributors: husaddam
Tags: social media feed, instagram feed, google reviews, social wall, tiktok feed
Requires at least: 6.3
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Embed Instagram, TikTok, YouTube, Facebook and Google Reviews in one social media feed, served from your own site. Free account required.

== Description ==

CollectSocials puts your social posts and customer reviews on your WordPress
site, in a design you control. You build a feed once in the hosted CollectSocials
studio, paste its id and embed token into Settings → CollectSocials, and place it
anywhere with a block or a shortcode.

What sets it apart is how little the page waits on. On a schedule you choose, the
plugin copies each feed's posts, its design and the renderer script into your own
site, and from then on serves every page view from your own domain. Nothing on
the page calls out to CollectSocials, no view counter ticks down, and the feed
still renders on the day a social network has an outage. The photos and videos
are the one exception, and worth stating plainly: those are still served by the
social network from its own CDN — as they are in every plugin of this kind — so
during an outage you keep the layout, the captions and the links, and the
pictures are the part that can go missing.

= Platforms in one feed =

A single feed can mix as many of these as your plan allows:

* **Instagram** — account posts, reels and hashtag content
* **TikTok** — videos from your account
* **YouTube** — channel uploads and playlists
* **Facebook** — page posts
* **Pinterest** — pins from your boards
* **Vimeo** — videos from your account
* **Tumblr** — posts from your blog
* **Google Reviews** — star ratings and review text from your Business Profile
* **RSS** — any blog or news feed, including your own WordPress posts
* **X (Twitter)** — a premium platform, available on paid plans

= Designed once, rendered exactly =

Feeds are assembled in the CollectSocials studio from three layers (layout, card
template and theme) across 40 layouts, including grid, masonry, carousel
and mosaic. Colours, fonts, spacing, borders,
headers and separate mobile styling are all editable. The plugin then renders the
design you published through the same renderer a hosted embed uses, so there is
no second set of styles to keep in sync inside your theme.

Worth being plain about, because it is unusual: all 16 themes, the theme builder
and every built-in card template are on the free plan. Styling is not the part we
hold back. Layouts are where free stops — it covers seven of the 40 (grid, list,
carousel, masonry, mosaic, slider and stagger) and paid plans open the rest.

= What the free plan covers =

Three sources, a daily refresh, all 16 themes plus the theme builder, seven of
the 40 layouts, every built-in card template, and unlimited plugin-served views.
Because the plugin serves feeds from your own site, page
views never count against a quota — a busy WordPress site can stay on the free
plan indefinitely. Every platform listed above is available on free **except X
(Twitter)**, which is premium. Paid plans (Pro, Business, Scale) add the
remaining layouts, the custom card builder, more sources, a faster refresh and
higher limits. There is nothing to buy inside WordPress: the
plugin is free and works with whichever plan your account is on, and upgrades
happen on collectsocials.com.

= How often it updates =

New posts are collected upstream on your CollectSocials plan's schedule — daily
on the free plan. The plugin re-syncs that cached data on the WordPress interval
you pick: hourly, twice daily or daily. It defaults to twice daily rather than
daily because the photos and videos in a feed are served by the social networks
themselves, from links that expire after a day or two. A sync does not mint new
links — it copies whatever was collected upstream — but the shorter interval
means your site starts serving newly collected links sooner, instead of holding
a day-old copy of them. Syncing more often than your plan collects simply
re-reads the same data, so this is not a real-time feed, and we would rather say
so here than have you find out later.

= Beyond this site =

The same CollectSocials account powers embeds on any website, so a feed you build
for WordPress works wherever else you need it.

**How it works / data disclosure:** this plugin connects to your CollectSocials
account (collectsocials.com) using the feed id + embed token you paste into
Settings → CollectSocials. On the schedule you choose it downloads your feed's
posts and design into this site's database, and a copy of the widget renderer
script into your uploads folder, then serves every page view locally. No visitor
data is sent to CollectSocials, and no part of a page load calls CollectSocials.
The images and videos inside a feed are the exception every social feed plugin
shares: they are hosted by the social network and load from its CDN, so a
visitor's browser does request those files from that network. A free
CollectSocials account is required: https://collectsocials.com/?ref=wordpress
The service's terms of use are at https://collectsocials.com/terms-of-service and
its privacy policy is at https://collectsocials.com/privacy-policy

**Attribution is optional and off by default.** Settings → CollectSocials has an
unticked checkbox, "Show a small 'Powered by CollectSocials' link under my
feeds". Leave it alone and no credit link is added to your site — every part of
the plugin behaves identically either way. Tick it only if you would like to
credit the plugin, and untick it whenever you change your mind. (If branding is
switched off for your CollectSocials plan, no link is added regardless of the
checkbox.) Worth knowing if you have seen our website say otherwise: a hosted
embed on the free plan does carry a "Powered by" link. The plugin does not,
because it renders from your own site — the checkbox is the only thing that adds
one here, on any plan.

== Installation ==

1. Install and activate the plugin.
2. Create a feed at https://app.collectsocials.com/signup?ref=wordpress, open it
   in the Design Studio and click Get Code. The snippet shown contains the feed
   id and embed token as its data-feed-id and data-token values.
3. Paste them under Settings → CollectSocials and save.
4. Add the **CollectSocials Feed** block to any page or post (or use the
   shortcode `[collectsocials feed="your-feed-id"]`).

== Frequently Asked Questions ==

= Is the plugin free? =

Yes. The plugin is free, and CollectSocials has a free plan — 3 sources, a
daily refresh, all 16 themes plus the theme builder, seven of the 40 layouts,
and unlimited plugin-served views — that a live site can run on. Paid plans add
the remaining layouts, the custom card builder, more sources, a faster refresh,
higher limits and the premium X (Twitter) platform.

= Do I need a CollectSocials account? =

Yes — a free account at https://collectsocials.com/?ref=wordpress. You design
feeds in the CollectSocials studio, and the plugin caches and displays them on
your WordPress site.

= Where do the feed id and embed token come from? =

Open any feed in the CollectSocials Design Studio and click Get Code. The
snippet it shows carries both as data-feed-id and data-token. Paste them into
Settings → CollectSocials. You can add as many feeds as your plan allows.

= Does the plugin add a link to my site? =

Only if you ask it to. The "Powered by CollectSocials" link is a checkbox on the
settings page that is unticked when you install the plugin, and nothing about the
plugin depends on it being switched on.

= How often does the feed update? =

New posts are collected upstream on your CollectSocials plan's schedule (for
example, daily on the free plan). The plugin re-syncs that cached data on the
WordPress interval you choose — hourly, twice daily or daily, twice daily by
default. Syncing more often than your plan collects simply re-reads the same
data. The default is twice daily rather than daily because the links the social
networks serve your photos and videos from expire after a day or two, and the
shorter interval means your site picks up newly collected ones sooner.

= Will this slow my site down? =

No. Posts and styling are cached in your site's database and served from your
own domain by a deferred script, so a feed adds no render-blocking third-party
requests to the page — which is what Core Web Vitals cares about — and the feed
still renders if a social network is temporarily unavailable. The images and
videos are the exception: those load from the social network's CDN, so during an
outage you keep the layout, the captions and the links, and the pictures are the
part that can go missing.

= Is it GDPR-friendly? =

Post text, styling and the renderer script are served from your own site, so no
visitor data reaches CollectSocials when someone views a page — the only
connection to us is the scheduled sync from your server to your own
CollectSocials account. Be aware of one thing, because it is true of every
social feed plugin: the photos and videos in a feed are hosted by the social
network, so a visitor's browser loads those files from that network's CDN and
the network can see the request. If that matters for your site, say so in your
privacy policy.

= Which platforms are supported? =

The ones listed in the description above, and a single feed can combine several
of them. All are available on the free plan except X (Twitter), which is a
premium platform on paid plans.

= Can I show more than one feed? =

Yes. Add each feed's id and token under Settings → CollectSocials, then place
them independently with the CollectSocials Feed block or the
`[collectsocials feed="…"]` shortcode.

== Screenshots ==

1. Settings → CollectSocials — add each feed's id and embed token, choose a
   sync interval and review sync status.
2. The CollectSocials Feed block in the editor, picking a configured feed.
3. A social media grid feed rendered on the front end.
4. A Google Reviews feed rendered on the front end.
5. The CollectSocials studio, where feeds are designed (layouts, card templates
   and themes).

== Changelog ==

= 1.0.0 =
* Initial release: scheduled local-cache sync of each feed's posts, design and
  renderer script; Gutenberg block and `[collectsocials]` shortcode; settings
  page with per-feed rows, sync interval and sync status; an optional,
  off-by-default "Powered by CollectSocials" link; full uninstall cleanup.
</content>
