--- title: "Divi Instagram Feed — Complete User Guide" url: "https://divipeople.com/docs/divi-instagram-feed.md" canonical: "https://divipeople.com/docs/divi-instagram-feed/" published: "2025-03-22" modified: "2026-05-18" author: "Fahim Reza" tags: - "Divi Instagram Feed" --- # Divi Instagram Feed — Complete User Guide Display your Instagram photos and videos anywhere on your Divi website, with full control over layout, design, and a profile header. This guide walks you through everything from installation to advanced settings and troubleshooting.Table of Contents ## 1. Requirements - WordPress 6.0 or higher - PHP 7.4 or higher - Divi Theme or Divi Builder (Divi 4 **or** Divi 5 — both are supported) - **An Instagram Professional account (Business or Creator).** Personal Instagram accounts **cannot** be used — Instagram discontinued the Basic Display API in December 2024 and personal accounts no longer have any API access. Converting to a Creator account is free, reversible, and does not change how your profile looks publicly. - **A public Instagram account.** Access tokens can only be generated for **public** profiles. If your Instagram is private, set it to public (Instagram app → *Settings → Account privacy*). > **How to switch:** On the Instagram mobile app go to **Settings → Account type and tools → Switch to professional account → Creator**. A Creator account does **not** require a Facebook Page. ## 2. Installation & Activation 1. In WordPress admin, go to **Plugins → Add New → Upload Plugin**. 2. Upload the `divi-instagram-feed` zip and click **Install Now**. 3. Click **Activate**. 4. A new **Divi Instagram Feed** menu appears in the admin sidebar. ## 3. Connecting an Instagram Account Connecting takes two pieces of information: an **access token** you generate in **your own** Meta developer app, and the **account type** — **Creator (Instagram Login)** or **Business (Facebook Page)**. > **Privacy by design:** Divi Instagram Feed never connects your Instagram to DiviPeople or any shared third-party app. You create your own private Meta app and your own token, so the connection is strictly between your site and your account — and because the app only accesses your own account, **no Meta App Review is required** (it can stay in Development mode). ### 3.1 Generate an access token The full, illustrated walkthrough is in **[How to Generate an Instagram Access Token](https://divipeople.com/docs/generate-instagram-access-token/)**. In short: **Creator account (simplest — no Facebook Page needed):** 1. **[https://developers.facebook.com/apps](https://developers.facebook.com/apps) → Create App.** In the wizard pick use case **"Manage messaging & content on Instagram"**, skip the business portfolio, and create the app. 2. Open **App roles → Roles → Add People → Instagram Tester**, search and add the **Instagram account whose feed you want to show**, then **accept the tester invitation**: from that Instagram account open **[https://www.instagram.com/accounts/website_permissions/](https://www.instagram.com/accounts/website_permissions/)** → **Website permissions → Apps and websites → Tester invitations** → **Accept**. Status must become *Active*. 3. Open **Instagram → API setup with Instagram login → Generate access tokens → Add account**, log in with that account. 4. Click **Generate token** and copy it (shown once). Long-lived (~60 days). *(The account must be Professional and public.)* **Business account linked to a Facebook Page:** 1. Create a Meta app (type **Business**). 2. Open the **Graph API Explorer**, select your app, **Generate Access Token**. 3. Grant `instagram_basic`, `pages_show_list`, `pages_read_engagement`, and approve the linked Page. 4. Exchange it for a long-lived (~60-day) token via the **Access Token Tool**, then copy it. > Not sure which to pick? If your Instagram is **not** tied to a Facebook Page, use the Creator track and select **Creator (Instagram Login)** in the plugin. (This is a connection *method*, not a personal account — personal Instagram accounts have no API access at all.) See the [token guide](https://divipeople.com/docs/generate-instagram-access-token/) for the full decision table. ### 3.2 Connect it in the plugin 1. Go to **Divi Instagram Feed → Accounts**. 2. Read the notice at the top — it confirms a Professional account is required. 3. Click **Connect Account**. 4. Paste your **Access Token** and choose the matching **Account Type** — **Creator (Instagram Login)** or **Business (Facebook Page)**. 5. Submit. Your account appears in the connected accounts list with its username and profile picture. You can connect multiple accounts and choose which one each module displays. **To disconnect:** click **Remove** next to the account. This deletes the stored token and account data for that account. > If the token is rejected or stops working within an hour, you most likely used a **short-lived** token, or the account is still **personal**. See [token troubleshooting](https://divipeople.com/docs/generate-instagram-access-token/#troubleshooting-token-issues). ## 4. Adding the Module to a Page 1. Edit any page with the Divi Builder. 2. Add a new module and search for **Instagram Feed**. 3. Insert it. The module loads with placeholder/sample content until a source is set. 4. Open the module settings and choose your account under **Source** (see below). ## 5. Settings Reference All settings live in the module options. Content/behavior options are on the **Content** tab; styling lives on the **Design** tab. ### Source | Setting | What it does | | --- | --- | | **Instagram Source** | Choose **Account** to display a connected Professional account. (A *Legacy* token-based option exists only for older setups and is deprecated.) | | **Select Account** | Pick which connected account this module displays. | | **Open posts in** | Where a clicked post opens: *None*, *Same Tab*, or *New Tab*. | ### Feed Layout | Setting | What it does | | --- | --- | | **Layout** | **Grid** (equal tiles), **Masonry** (natural heights), or **Highlight** (periodic larger feature tiles). | | **Number of posts** | How many posts to display (1–100). | | **Number of columns** | Columns in the grid; supports separate desktop/tablet/phone values. | | **Gap** | Spacing between items; responsive. | | **Highlight Every** | (Highlight layout only) how often a larger highlighted tile appears. | ### Feed Options | Setting | What it does | | --- | --- | | **Show Caption** | Show the post caption beneath each item. | | **Show on hover** | Which elements appear on image hover (icon, caption). | | **Image Ratio** | Crop ratio for thumbnails (e.g. square) for a consistent grid. | | **Post Order** | *Recent* (default), *Oldest*, or *Random*. | ### Feed Appearance (hover overlay) When a visitor hovers an image, an overlay can show extra detail: | Setting | What it does | | --- | --- | | **Show Icon on Hover** | Show the Instagram icon. | | **Hover Icon Size** | Size of that icon (responsive). | | **Show Likes on Hover** | Show like & comment counts. | | **Show Link on Hover** | Show a link-out icon. | | **Show Username on Hover** | Show the post's username. | | **Show Date on Hover** | Show the post date. | | **Hover Text Color** | Color of the overlay text/icons. | | **Hover Background Color** | Overlay background color (supports transparency). | ### Load More | Setting | What it does | | --- | --- | | **Show Load More Button** | Adds a button to load additional posts. | | **Load More Text** | Custom button label. | | **Auto Scroll** | Automatically load more as the visitor scrolls. | ### Feed Header Show a profile header above the feed (requires an **Account** source): | Setting | What it does | | --- | --- | | **Show Header** | Master toggle for the header. | | **Show Profile Picture** | Display the account's avatar. | | **Profile Photo Size** | Avatar size (responsive). | | **Custom Profile Picture** | Override the Instagram avatar with your own image. | | **Show Full Name** | Display the account's display name. | | **Show Verified Badge** | Show the blue verified badge (only appears if the account is actually verified). | | **Show Username** | Display the `@username`. | | **Show Posts Count** | Display the total number of posts. | | **Show Followers Count** | Display the follower count. | | **Custom Bio Text** | Add custom text below the username. | | **Show Follow Button** | Display a button linking to the Instagram profile. | | **Follow Button Text** | Custom label for that button. | ### Design tab Standard Divi design controls apply to the module wrapper, image items, header, and follow button — background, spacing, borders, box shadow, fonts, sizing, filters, transforms, and custom CSS. The header has its own background and spacing controls; the follow button has its own background, text, and spacing controls. ## 6. Caching & the Cache Manager Instagram limits API calls (roughly 200 per hour per account). To stay well within that and keep pages fast, the plugin caches the fetched feed. - The feed is stored in a WordPress transient and re-fetched only when the cache expires. - Go to **Divi Instagram Feed → Cache Manager** to see how many cache entries exist and to **Clear Cache** (forces a fresh fetch on the next page load — useful right after posting on Instagram). > Access tokens are refreshed automatically on a ~30-day schedule via WordPress cron, so you never need to reconnect manually under normal conditions. On very low-traffic sites where WP-Cron rarely runs, ask your host to trigger `wp-cron.php` on a real schedule. ## 7. Divi 4 vs Divi 5 The plugin fully supports both builders: - **Divi 5 (Visual Builder):** the module appears in the new inserter with the modern settings panels described above. Existing Divi 4 layouts containing the module are automatically converted when opened in Divi 5 — your settings carry over. - **Divi 4:** the classic module works as before. There are no separate steps; use whichever builder your site runs. You do not need to rebuild anything when upgrading from Divi 4 to Divi 5. ## 8. Troubleshooting | Symptom | Likely cause & fix | | --- | --- | | "Connect" fails or never returns | The account is **personal**. Switch it to Professional (Creator) and reconnect. | | Token can't be generated in the Meta dashboard | The Instagram account is **private**. Tokens only work for **public** profiles — set it public and retry. | | Feed shows "No Instagram posts found" | No posts on the account, wrong account selected, or an expired token — try **Remove** then reconnect. | | Feed not updating after a new post | Cached. Go to **Cache Manager → Clear Cache**, or lower the cache time. | | Feed stopped working after ~2 months | Token wasn't refreshed (WP-Cron not firing). Reconnect, then set up a real system cron. | | Header not showing | Header requires the **Account** source and **Show Header** enabled. | | Verified badge missing | It only renders if the connected account is actually verified on Instagram. | | Module missing in Divi 5 inserter | Ensure the plugin is active and Divi 5 is enabled; rebuild assets if running from source. | ## 9. FAQ **Do I need a Facebook Page?**Not for a Creator account using the standard connection. A Facebook Page is only relevant for the Business/Graph connection path. **Can I show someone else's public feed (a hashtag or another account)?** No. The plugin displays content from accounts **you connect and authorize**. You cannot pull arbitrary third-party accounts. **How many accounts can I connect?** Multiple. Each module picks one connected account to display. **Will switching to a Creator account change how my profile looks to followers?** No. It only unlocks API access and professional insights; the public profile is unchanged, and you can switch back anytime. **How fresh is the feed?** As fresh as your cache setting allows. Clear the cache (Cache Manager) immediately after posting if you want it to update right away. **Is my access token safe?** Tokens are stored in your site's database and used only to fetch your media. Removing an account deletes its stored token. *Need more help? Contact [**DiviPeople** support](https://divipeople.com/support/) .*