Instagram Feed Integration: setup and help

Quick start

  1. Upload the module ZIP in Modules > Module Manager and open Configure.
  2. Enter Access Token and Instagram User ID for the intended account.
  3. Set Instagram Username and keep the feed enabled.
  4. Select Display Hook supported by your theme, such as displayHome.
  5. Set Layout Mode, columns and visible content, then save.
  6. Use Refresh Feed Cache Now if replacing cached content.
  7. Open the chosen storefront area, confirm media loads and test post/follow links.

Requires PrestaShop 1.6 or later and PHP 7.1 or later.

Setup manual

Install and connect

  1. Upload the Instagram Feed Integration ZIP through Modules > Module Manager.
  2. Open Configure.
  3. Enter Access Token, Instagram User ID and Instagram Username.
  4. Choose a real Display Hook supported by your theme, then save.
  5. Visit that storefront area so the first feed request runs. Confirm posts link to your intended account.

Requires PrestaShop 1.6 or later and PHP 7.1 or later.

Connection settings

Setting Installed default What you do
Enable Module Yes Enables the storefront feed. It is separate from Enable Auto-Publish.
Access Token Empty Paste the token for the configured account and API mode. Saving requires a nonempty token but does not validate the remote account identity.
Instagram User ID Empty Enter the numeric account ID to select the Facebook Graph media endpoint and allow publishing configuration.
Instagram Username Empty Enter the profile username without @. Used in profile links and author labels.

With Instagram User ID filled, the module requests https://graph.facebook.com/v18.0/USER_ID/media. With it empty, the module requests https://graph.instagram.com/me/media. Configure the intended Graph account and check the feed response.

After each uncached feed fetch, the module attempts token renewal through graph.instagram.com/refresh_access_token, including when Instagram User ID is configured. It saves a returned access token on success. Renewal is not guaranteed; replace credentials when authentication fails.

Display and layout

Placement

Setting Installed default What it does
Display Hook displayHome Choose a standard hook supported by your theme, such as displayHome, displayFooterBefore, displayFooter, displayLeftColumn or displayRightColumn. The widget option has no renderer in this version; use a standard hook.
Section Title Follow us on Instagram Heading above the feed.
Show Follow Button Yes Displays the follow link when a username is configured.
Follow Button Text Follow @ Text before the username.
Show on Mobile Yes Turn off to omit the feed for visitors detected as mobile by PrestaShop.
Enable Custom Widget No Saved, but has no effect because the custom widget hook is not implemented.

Only the selected standard hook renders the feed. Your theme must call that hook. You can use the homepage for the initial test, then move it to a footer or column hook supported by your theme.

Layout

Setting Installed default What it does
Layout Mode grid Choose grid or slider.
Number of Posts 12 Media request limit, capped at 25.
Columns 4 Desktop grid columns. The supplied slider needs section-level variables to use this value.
Rows 1 Limits the grid to 1-3 visible rows at each screen width. Does not restrict slider output.
Mobile Columns 2 Grid columns below 768px; the supplied slider falls back to two.
Image source (not a setting) Platform response Uses the image URL or video thumbnail URL returned by Instagram. There is no Image Size control.
Gap Between Posts (px) 10 Grid item spacing; the supplied slider movement falls back to 10px.
Border Radius (px) 8 Grid corner rounding; slider styling may require a theme adjustment.
Hover Effect overlay Choose overlay, zoom, fade or none.

For a homepage grid, start with 12 posts, four desktop columns, two mobile columns and three rows. This shows up to 12 posts on desktop and six on mobile; tablets use three columns. Rows limits the visible grid items, while Number of Posts remains the overall maximum. For a footer slider, choose displayFooterBefore and slider, reduce Number of Posts if needed and hide captions or dates for a compact layout.

The supplied slider reads column and gap variables from the section, while the template declares them on the grid. Slider movement therefore falls back to four desktop items, three on tablets, two on mobile and a 10px gap unless your theme supplies those variables on the section. Test the slider after changing layout settings.

Post content and performance

Visible content

Setting Installed default What it does
Show Caption Yes Display the caption, shortened by the fetcher to at most 120 characters.
Show Date Yes Display the post date.
Show Likes Count Yes Display a positive like count returned by the User ID Graph request.
Show Comments Count Yes Display a positive comment count returned by that request.
Show Author Name Yes Display the configured username on each item.

Videos are represented by thumbnails with a play marker. Carousel albums appear as a linked preview with a gallery marker; the fetcher does not request and display all carousel children. The feed shows account media, not hashtag results. Items without a usable image or video thumbnail are skipped.

Cache and slider

Setting Installed default What it does
Auto-Scroll (Slider) Yes Moves the slider automatically.
Scroll Speed (ms) 3000 Delay between automatic movements.
Lazy Load Images Yes Defers loading until images approach the viewport.
Cache Duration 3600 seconds Choose a duration from 15 minutes through 24 hours using the dropdown.

The feed uses a local JSON cache in the module directory. A storefront request fetches media when the file is missing or older than Cache Duration. Shops using the same module directory share this cache. There is no scheduled refresh worker.

Refresh Feed Cache Now and saving the feed settings clear the cache. The next storefront request fetches media and saves only nonempty results. An API error or empty result shows no feed for that request; expired cached content is not served. Lazy loading uses IntersectionObserver, with immediate image loading when it is unavailable.

Optional Blog Revolution publishing

The configuration includes a publishing section and a Blog Posts panel. The panel needs MPR Blog Revolution data to list posts. Feed reading and publishing are separate operations. Leave Enable Auto-Publish off, its installed default, until you want published blog content to create remote posts. Saving the main feed form resets the separate auto-publish switch and caption template. Save the publishing form again after changing feed settings.

Caption Template defaults to:

{title}

{excerpt}

{url}

You can also use {shop_name}. For example, change the last part to Read the article: {url} and add {shop_name} on another line.

Automatic publishing reacts to object add/update hooks with published status 1 and configured credentials. The Instagram publisher requires Access Token, Instagram User ID and one featured image. It creates a media container and submits it for publication. It does not publish a multi-image carousel.

Manual buttons in the recent blog-post panel also publish real content to Instagram. Check the selected post, account and caption before using them, and make sure the token has permission to publish.

Publishing attempts use shared persistent queue/history data with duplicate and unknown-outcome checks. Publishing is attempted during the request; failed attempts need review before retrying. If the result is unknown or requires reconciliation, inspect the remote account and queue result before trying again.

The shared write policy can block publishing on a development/staging host or when the configured shop host is uncertain. Use the displayed result and PrestaShop logs to diagnose that block. There is no need to change publishing policy to test feed reading.

When the mprsocialrevolution stored platform-active setting is on, this module suppresses its own feed and automatic publishing for that platform. That takeover check reads the platform setting; it is not simply a test that the other module is installed.

Verify and troubleshoot

  • Confirm the required credentials are saved, the feed switch is on and the selected hook executes in your theme.
  • Clear the cache, visit the chosen area, and inspect the resulting feed. Check the cache file's timestamp and PHP/API errors if nothing appears.
  • Test grid or slider controls, mobile visibility, follow links and post permalinks. Like/comment counters require the User ID request and returned positive values.
  • If authentication fails, check the token, account ID, remote API version and permissions. Saving credentials checks that the token is nonempty; it does not verify the remote account identity. Changing the username alone does not change the API account ID.
  • If publishing is denied, check the employee's module access, account credentials, host-policy result, shared-package compatibility and previous attempt state. Do not repeatedly publish after an uncertain response.

Customize and uninstall

Keep template overrides in your theme:

themes/your-theme/modules/mprinstagramintegration/views/templates/hook/feed.tpl
themes/your-theme/modules/mprinstagramintegration/views/templates/hook/post_item.tpl

Theme CSS can target .mprinstagram-section, .mprinstagram-title, .mprinstagram-grid, .mprinstagram-slider, .mprinstagram-item and .mprinstagram-follow-btn. Use .mprinstagram-caption for caption styling. Layout variables include --mprinstagram-gap and --mprinstagram-radius.

To pause output, turn off Enable Module. Turn off Enable Auto-Publish separately to stop automatic publishing. Before uninstalling, retain credentials and back up any publication history you need. Uninstall removes the module's menu and settings, clears its cache and runs its schema cleanup. It does not delete posts already created on Instagram.

Questions

1

Does Instagram image lazy loading wait for shopper consent?

Lazy loading uses viewport proximity where supported, with immediate loading as the fallback. Neither path checks consent. The feed uses the image URLs returned by Instagram. If your setup needs to hold those requests, verify that your consent tooling controls them before enabling the feed.

Known Issues

6

Instagram credentials cannot be saved from setup dialog

ResolvedUpdated:
Fixed in: 1.0.20
Saving Instagram credentials in the setup dialog could display a configuration error instead of storing the credentials.

Setup warning remains after saving valid settings

ResolvedUpdated:
Fixed in: 1.0.20
The setup banner could continue to show the previous warning after settings were successfully saved.

Setup help appears as a warning

ResolvedUpdated:
Fixed in: 1.0.20
Informational setup instructions were displayed as a warning even when they did not describe an error.

Module labels remain untranslated

ResolvedUpdated:
Fixed in: 1.0.20
Some module labels continued to appear in English despite an available translation.

Module back office fails to open

ResolvedUpdated:
Fixed in: 1.0.15
Opening the module administration pages could stop with an error instead of displaying the page.

Incorrect module translations

ResolvedUpdated:
Fixed in: 1.0.15
Some module text was displayed with damaged or incorrect translations.

Feature Requests

3

Implemented

Instagram feed with grid and carousel layouts

Implemented
Displays Instagram posts in a grid or a horizontally scrolling carousel. The layout is selected in the module settings, with optional automatic scrolling for the carousel.

Instagram setup readiness checks

Implemented
See which required Instagram settings are missing before expecting the integration to work.

One-click module updates

Implemented
Install available module updates from the back office.

Changelog

v1.0.132026-09-14

  • Addedcomplete FR/DE/ES/IT/PL translations
  • FixedAdd migrateFromPsConfiguration for ps_configuration cleanup
Older releases

v1.3.02026-04-20

  • Addedadmin menu management via MenuInstaller for streamlined module setup
  • AddedLicense management tab with key management and renewal options
  • Addedself-healing integrity checks for automatic diagnostics and repair
  • Addedcomplete FR/DE/ES/IT/PL translations

v1.2.02026-02-03

  • Addedfull compatibility with PrestaShop 9.x and Hummingbird theme
  • AddedReels support: video thumbnails with play icon overlay in the feed grid
  • ImprovedOAuth token refresh — long-lived tokens auto-renewed 7 days before expiry
  • Fixedfeed not updating after Instagram account switched to a different Business Profile
  • Addedhover overlay with post caption excerpt and Instagram link

v1.0.02025-09-19

  • Initialrelease: Instagram Basic Display API integration for PrestaShop
  • InitialOAuth 2.0 authorization flow managed entirely from module settings
  • InitialConfigurable post count (up to 24) and column layout (2–6 columns)
  • InitialFeed cached server-side to avoid rate limiting — configurable TTL

v1.1.02025-08-25

  • Addedslider layout as an alternative to the default grid view
  • Improvedlazy loading: only images in the viewport are requested from Instagram CDN
  • Fixedlayout breaking when a post caption contained emoji characters
  • Addedconfigurable grid gap and border radius for seamless theme matching

Demo

Test the full module before you buy

Buy a licence later and keep your settings.

  • Your 30-day demo Test it on your own shop for 30 days from the first install.
  • Ready demo shop Explore a ready demo shop in your browser.
  • No registration No account, email or store domain needed.
Launch demo shop

By downloading, you accept the demo terms and privacy policy.

By opening this demo you accept the demo terms and the privacy policy.

Loading...
Back to top