=== Reely ===
Contributors: reelyplugin
Tags: instagram, reels, video, feed, carousel
Requires at least: 6.0
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

Show your latest Instagram Reels on your site with one shortcode. Auto-refreshing, lightweight, no account with us required.

== Description ==

Reely puts your latest Instagram Reels on your WordPress site as an auto-scrolling carousel, using one shortcode.

It does one thing and tries to do it properly. There is no dashboard to learn, no feed builder, and no account to create with us.

**How it works**

You connect Reely to Instagram using **your own Instagram app**, which you create once in Meta for Developers. That means:

* Your access token is stored in your own database, on your own hosting.
* Your Reels are fetched by your site directly from Instagram.
* Nothing passes through our servers, and we never ask for your Instagram password.

Setting up the Instagram app takes a few minutes and the plugin walks you through it. After that, it looks after itself: new Reels appear automatically, and the access token renews itself before it expires, so the connection does not go stale.

**Features**

* Auto-scrolling Reels carousel, responsive down to mobile.
* One shortcode: `[reely]`.
* Automatic refresh every 15 minutes.
* Automatic token renewal — connect once, not every 60 days.
* Videos load only when they scroll into view, so a long feed stays light.
* Respects the visitor's "reduce motion" setting.
* Works with any theme and any page builder that can render a shortcode.

**Shortcode options**

`[reely count="14" columns="4" speed="3000"]`

* `count` — how many videos to show. Default 20.
* `columns` — videos per row on desktop. Default 5.
* `speed` — auto-scroll interval in milliseconds. Default 3000.

**Third-party service**

Reely connects to the Instagram Graph API, a service provided by Meta Platforms, Inc., using credentials that you supply. Your site talks to these endpoints directly:

* `https://api.instagram.com/oauth/access_token` — exchanges the login code for an access token.
* `https://graph.instagram.com/access_token` — upgrades it to a long-lived token.
* `https://graph.instagram.com/refresh_access_token` — renews the token before it expires.
* `https://graph.instagram.com/me/media` — reads your own media.

By connecting, you agree to Meta's terms. Please see the [Meta Platform Terms](https://www.facebook.com/legal/terms/plat) and the [Meta Privacy Policy](https://www.facebook.com/privacy/policy/).

Reely is not affiliated with, endorsed by, or sponsored by Instagram or Meta Platforms, Inc.

== Installation ==

1. Install and activate the plugin.
2. Go to **Reely** in the admin menu.
3. Follow Step 1 to create an Instagram app in Meta for Developers and add the redirect URI shown on the settings page.
4. Paste your App ID and App Secret, and save.
5. Click **Connect Instagram** and approve the connection.
6. Paste `[reely]` into any post, page, or widget.

== Frequently Asked Questions ==

= Do I need my own Instagram app? =

Yes. Instagram requires every site to connect through an app, and Reely uses one that belongs to you rather than a shared one. It takes a few minutes to create, the settings page walks you through it, and you only do it once. The upside is that your connection is genuinely yours: your token stays on your server and nothing routes through a third party.

= Does Reely store my Instagram password? =

No. You log in on Instagram's own screens. Reely only ever receives an access token, and that token is stored in your site's database.

= How often does the feed update? =

Every 15 minutes, through WP-Cron. You can also press **Refresh videos now** on the settings page at any time.

= Will my connection expire? =

No. Instagram's long-lived tokens last 60 days, and Reely renews yours automatically before that, so the connection keeps working.

= Will it slow my site down? =

Videos are not loaded until they are about to scroll into view, and the CSS and JavaScript are only loaded on pages where the shortcode actually appears.

= Does it work with my theme or WooCommerce? =

If you can open your template, post, or product page in the editor and paste a shortcode into it, Reely will run there. That is the only requirement.

= Which media does it show? =

Video posts from the connected account, newest first. Photo posts are skipped.

== Screenshots ==

1. The Reels carousel on the front end.
2. The Reely settings page, with connection status.

== Changelog ==

= 1.0.0 =
* First public release.

== Upgrade Notice ==

= 1.0.0 =
First public release.
