TikTok Feed Integration: setup and help
Quick start
- Upload and install the
mprtiktokintegrationZIP in Modules > Module Manager. - Click Configure. In TikTok Connection, leave Enable Module set to Yes.
- Enter at least one public TikTok Video URLs value, one full video URL per line. Leave publishing credentials empty for feed-only use.
- Optionally enter TikTok Username without
@for the profile and follow links. - Select Display Hook
displayHomeand Layout Modegrid. Leave Enable automatic submission off. - Click Save on the feed form. Open the storefront where the selected hook is rendered.
- Check the thumbnail cards and click one to confirm it opens the correct TikTok video.
Requires PrestaShop 1.6 or later and PHP 7.1 or later.
Setup manual
Installation and first configuration
On older PrestaShop versions, use the equivalent module installation page. Open this module through Configure whenever you need to return to its settings.
TikTok Connection
| Setting | Default | What you do |
|---|---|---|
| Enable Module | Yes | Turn the standalone feed on or off. |
| TikTok Access Token | Empty | Used by the optional publishing code. Leave empty for public video feed display. |
| TikTok Client Key | Empty | Stored for optional publishing setup. Leave empty for feed display. |
| TikTok Username | Empty | Enter without @. This controls profile/follow links and does not import your account’s videos. |
| Video URLs | Empty | Enter full public TikTok video URLs, one per line. The code filters lines containing tiktok.com and requests their oEmbed data. |
Display Settings
| Setting | Default | What you do |
|---|---|---|
| Display Hook | displayHome |
Choose displayHome, displayFooterBefore, displayFooter, displayLeftColumn, or displayRightColumn. Your theme must render the selected hook. |
| Section Title | Empty | Set the feed heading. Leave empty to hide it. |
| Show Follow Button | Yes | Show a profile link below the feed when the username is set. |
| Follow Button Text | Follow |
Set the text before the username. It is joined directly to the username. |
| Show on Mobile | Yes | Allow the feed for visitors detected as mobile by PrestaShop. |
The header’s profile/channel link is nested inside the section-title block. Set a Section Title if you want that header link to appear. The separate follow/subscribe button has its own switch.
Layout and appearance
| Setting | Default | What you do |
|---|---|---|
| Layout Mode | grid |
Choose grid, slider, or list. In this template, list renders the same grid markup as grid. |
| Number of Posts | 6 |
Set a positive count. The feed is limited to this many items after retrieval. |
| Columns | 3 |
Choose 2-6 desktop grid columns. |
| Mobile Columns | 1 |
Choose 1 or 2 grid columns below 768px. |
| Gap Between Posts (px) | 16 |
Set grid spacing. |
| Border Radius (px) | 8 |
Set card corner rounding. |
| Hover Effect | elevate |
Choose elevate, glow, border, or none. These choices need custom theme CSS to produce their named effects; the bundled styles provide overlay, zoom and fade effects instead. |
The grid uses three columns at intermediate widths up to 991px and the mobile setting below 768px.
Column and spacing settings apply to the grid. The carousel uses its built-in column and spacing defaults. Check the carousel at your storefront widths; use the grid when you need the configured column counts.
Video Info
| Setting | Default | What you do |
|---|---|---|
| Show Caption | Yes | Show the caption and available author name when the video has a caption. |
| Show View Count | Yes | Show the view icon. Numeric view counts are not displayed. |
| Show Likes | Yes | Show the like icon area. This template does not receive numeric like counts. |
Slider & Performance
| Setting | Default | What you do |
|---|---|---|
| Lazy Load Images | Yes | Load thumbnail/media images through JavaScript near the viewport. Disable if that loading is blocked. |
| Auto-Scroll (Slider) | No | Automatically advance the carousel. This has no effect on grid/list output. |
| Scroll Speed | 5000 |
Set the carousel interval in milliseconds. Choices are 2000, 3000, 5000, 8000, and 10000. |
| Cache Duration | 3600 |
Reuse retrieved data for this many seconds. Choices are 1800, 3600, 7200, 21600, 43200, and 86400. |
Feed behavior
You do not need a token or a business account for the public URL feed path. You choose each video manually. Entering a username does not import future account posts. The server calls https://www.tiktok.com/oembed?url=... for each accepted URL and skips failed responses. The storefront displays a thumbnail, play badge, optional caption/author, and optional follow link. Clicking opens the video on TikTok in a new tab. The module does not embed an in-page TikTok player.
Cache and refresh
The module stores retrieved items in:
modules/mprtiktokintegration/mprtiktok_feed_cache.json
The web-server process must be able to write this file in the module directory. Keep the normal owner/group permissions for your hosting setup. You do not need a cron task for feed display. A storefront request fetches data after the cache expires. Saving the main feed form clears the cache. The file is shared across this module’s shop contexts, rather than having a separate file per shop.
Saving the feed form clears the cache. The renderer has a case-sensitive cache refresh action. The spelling refreshMprTiktokCache is not accepted; the required parameter is refreshMPRTiktokCache. The supplied main form has no visible cache-clear button. Use Save, or have your administrator remove only the cache file.
Only non-empty fetch results are saved. An empty or failed fetch hides the feed and can be retried on later storefront requests. If items look stale, clear the cache after checking the source. API counts and relative dates reflect the cached response, not a live browser subscription.
Automatic TikTok submission
The separate Automatic TikTok submission form contains:
| Setting | Default | What you do |
|---|---|---|
| Enable automatic submission | No | Submit eligible published blog posts for asynchronous processing. This does not mean the post is published. |
| Caption Template | {title}\n\n{excerpt}\n\nRead more: {url} |
Use {title}, {excerpt}, {url}, and {shop_name}. The publisher limits the caption to 2200 characters. |
The TikTok submissions panel requires MPR Blog Revolution. It offers Submit to TikTok and Check status. The state can be Not submitted, processing, Confirmation required in TikTok, Published, Blocked, or Failed. A returned publish ID means TikTok accepted a submission for processing. Use Check status before retrying. If the account requires confirmation, complete it in TikTok.
Feed display and publication are separate. The publisher sends one video URL to TikTok’s Content Posting API with PULL_FROM_URL and SELF_ONLY privacy. Its connection check currently requires a non-empty access token; the configuration map also includes the client key. The module does not provide an OAuth authorization flow here.
Blog submissions use the post’s featured image from img/mprblogrevolution/posts/, but TikTok publishing requires a video. An ordinary blog image cannot be published as a TikTok video. Keep automatic submission off until your installation supplies suitable video media.
Saving the main feed form processes the separate auto-submission keys too and can reset the switch/caption. Configure the feed first, then save the separate submission form and recheck it after future feed saves. The outbound-write policy can block development/staging or unresolved shop hosts. The panel reports that reason. The Social Revolution TikTok takeover flag also suppresses standalone publishing.
Configuration examples and theme adjustments
The examples below describe values to enter in the back-office forms. They are not shell commands. Replace account names, pin/video IDs, and credentials with real values. The theme hook must match Display Hook.
Add public TikTok videos, one per line:
https://www.tiktok.com/@yourbrand/video/1234567890123456789
https://www.tiktok.com/@yourbrand/video/9876543210987654321
https://www.tiktok.com/@yourbrand/video/1122334455667788990
Homepage grid setup:
ENABLED=1
DISPLAY_HOOK=displayHome
TITLE=Watch us on TikTok
LAYOUT=grid
POST_COUNT=6
COLUMNS=3
MOBILE_COLUMNS=1
GAP=16
BORDER_RADIUS=8
SHOW_FOLLOW_BTN=1
FOLLOW_TEXT=Follow
Compact slider setup above the footer:
DISPLAY_HOOK=displayFooterBefore
LAYOUT=slider
POST_COUNT=6
COLUMNS=3
MOBILE_COLUMNS=1
AUTO_SCROLL=1
SCROLL_SPEED=5000
LAZY_LOAD=1
CACHE_DURATION=3600
Render the selected hook manually in a theme template when your theme supports Smarty hooks:
{hook h='displayHome' mod='mprtiktokintegration'}
Use the feed CSS classes in your theme stylesheet or custom CSS:
.mprfeed-tiktok .mprfeed-title {
font-size: 24px;
}
.mprfeed-tiktok .mprfeed-grid {
--mprfeed-gap: 20px;
}
.mprfeed-tiktok .mprfeed-follow-btn {
border-radius: 4px;
}
Optional auto-publish caption template placeholders:
{title}
{excerpt}
Read more: {url}
Available placeholders for the publishing template:
{title}
{excerpt}
{url}
{shop_name}
For a carousel, verify the actual sizing limitation described above. Keep CSS and template changes in your theme.
Verification and troubleshooting
- If the section is absent, check Enable Module, the source fields, Show on Mobile, and the selected hook. The module returns no section when no items are available.
- Check that your theme calls
displayHeaderto load the stylesheet and JavaScript, and renders your selected display hook. - If images remain blank, inspect browser network errors. Try disabling lazy loading and check the image URLs.
- If the layout is wrong, test the grid first, then verify the carousel at desktop and mobile widths.
- If MPR Social Revolution has its
TIKTOK_ACTIVEsetting enabled, this standalone feed is suppressed. This check reads the saved flag; it does not require Social Revolution to be currently enabled as a module.
Open the module’s Integrity page for configuration and hook checks. License, Support, and Update are maintenance pages. Test the actual destinations after changing account identifiers or feed sources.
Disable or uninstall
Set Enable Module to No and save to hide the feed while retaining its configuration. The feed enable switch does not disable publishing. Also turn off the separate publishing switch if you use it. Save the publishing form after the main feed form. Uninstall through the module manager to remove this module’s configuration, local cache, and admin menu entries. Shared mpr_social_publish and mpr_social_queue tables are marked shared and are retained on uninstall. Uninstall does not delete posts already sent to the platform.
Questions
1
Does lazy loading wait for consent before loading TikTok thumbnails?
Lazy Load Images uses viewport proximity where supported, with immediate loading as the fallback. Neither path checks consent. The feed displays thumbnails that link to TikTok rather than an in-page video player. If you need to hold thumbnail requests, verify that your consent tooling controls them.
Known Issues
4
TikTok publications remain pending after confirmation
Module fails to load on PHP 7.1
Damaged or untranslated administration text
Setup warning stays stale after saving
Feature Requests
5
Implemented
TikTok publishing
Updates from the back office
Multilingual administration
Setup readiness checks
TikTok publication status tracking
Changelog
v1.0.122026-09-17
- Addedcomplete FR/DE/ES/IT/PL translations
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
- AddedPS 9 / Hummingbird theme compatibility
- Addedlightbox video playback with keyboard navigation
- Improvedslider layout — configurable slides-per-view per breakpoint
- Fixedvideo thumbnails not loading for TikTok accounts with private avatars
v1.1.02025-07-22
- Addedgrid and slider layout selector in back office
- Addedvideo count limiter — show up to 20 latest videos
v1.0.02025-07-20
- Initialrelease: TikTok video feed display for PrestaShop
- InitialEmbeds TikTok channel or hashtag feed via oEmbed API
- InitialBack-office configuration for channel handle and layout type
- InitialCompatible with PS 1.7.x and PS 8.x
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.
By downloading, you accept the demo terms and privacy policy.
By opening this demo you accept the demo terms and the privacy policy.