{"id":349820,"date":"2026-08-16T15:02:48","date_gmt":"2026-08-16T15:02:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/snaptapgo-gallery\/"},"modified":"2026-08-16T17:22:30","modified_gmt":"2026-08-16T17:22:30","slug":"snaptapgo-gallery","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/snaptapgo-gallery\/","author":23543567,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.7.2","stable_tag":"1.7.2","tested":"7.0.4","requires":"5.6","requires_php":"7.4","requires_plugins":null,"header_name":"SnapTapGo Gallery","header_author":"SnapTapGo","header_description":"Embed a live SnapTapGo project gallery on any WordPress page. Manage photos from your phone \u2014 the gallery updates automatically.","assets_banners_color":"0f182c","last_updated":"2026-08-16 17:22:30","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/snaptapgo.com\/wordpress","header_author_uri":"https:\/\/snaptapgo.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":54,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.7.0":{"tag":"1.7.0","author":"snaptapgo","date":"2026-08-16 15:02:13"},"1.7.1":{"tag":"1.7.1","author":"snaptapgo","date":"2026-08-16 17:14:58"},"1.7.2":{"tag":"1.7.2","author":"snaptapgo","date":"2026-08-16 17:22:30"}},"upgrade_notice":{"1.5.0":"<p>Important update: replaces WordPress Application Passwords with a simpler connection token. Go to Settings \u2192 SnapTapGo, copy your token from app.snaptapgo.com\/settings, and save it. Galleries will not display until the token is saved.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3650003,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3650003,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3650003,"resolution":"1544x500","location":"assets","locale":"","width":1554,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3650003,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.7.0","1.7.1","1.7.2"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3650003,"resolution":"1","location":"assets","locale":"","width":1322,"height":913},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3650003,"resolution":"2","location":"assets","locale":"","width":1317,"height":898},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3650003,"resolution":"3","location":"assets","locale":"","width":1317,"height":898},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3650003,"resolution":"4","location":"assets","locale":"","width":1317,"height":898},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3650003,"resolution":"5","location":"assets","locale":"","width":1317,"height":898},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3650003,"resolution":"6","location":"assets","locale":"","width":978,"height":829},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3650003,"resolution":"7","location":"assets","locale":"","width":1042,"height":901}},"screenshots":{"1":"Grid layout with labeled group sections on a live WordPress page","2":"Masonry layout showing natural photo heights","3":"Carousel layout \u2014 one photo at a time with navigation arrows and dot indicators","4":"Strip layout \u2014 portrait photos displayed side by side","5":"Full-screen lightbox with navigation, swipe support, and download button","6":"WordPress admin settings panel \u2014 connection token, layout and group label customization","7":"Shortcode reference table in the admin panel"}},"plugin_section":[],"plugin_tags":[210,604,649,205,789],"plugin_category":[43,50],"plugin_contributors":[275995],"plugin_business_model":[],"class_list":["post-349820","plugin","type-plugin","status-publish","hentry","plugin_tags-gallery","plugin_tags-image-gallery","plugin_tags-photo-gallery","plugin_tags-photos","plugin_tags-portfolio","plugin_category-customization","plugin_category-media","plugin_contributors-snaptapgo","plugin_committers-snaptapgo"],"banners":{"banner":"https:\/\/ps.w.org\/snaptapgo-gallery\/assets\/banner-772x250.png?rev=3650003","banner_2x":"https:\/\/ps.w.org\/snaptapgo-gallery\/assets\/banner-1544x500.png?rev=3650003","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/snaptapgo-gallery\/assets\/icon-128x128.png?rev=3650003","icon_2x":"https:\/\/ps.w.org\/snaptapgo-gallery\/assets\/icon-256x256.png?rev=3650003","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/snaptapgo-gallery\/assets\/screenshot-1.png?rev=3650003","caption":"Grid layout with labeled group sections on a live WordPress page"},{"src":"https:\/\/ps.w.org\/snaptapgo-gallery\/assets\/screenshot-2.png?rev=3650003","caption":"Masonry layout showing natural photo heights"},{"src":"https:\/\/ps.w.org\/snaptapgo-gallery\/assets\/screenshot-3.png?rev=3650003","caption":"Carousel layout \u2014 one photo at a time with navigation arrows and dot indicators"},{"src":"https:\/\/ps.w.org\/snaptapgo-gallery\/assets\/screenshot-4.png?rev=3650003","caption":"Strip layout \u2014 portrait photos displayed side by side"},{"src":"https:\/\/ps.w.org\/snaptapgo-gallery\/assets\/screenshot-5.png?rev=3650003","caption":"Full-screen lightbox with navigation, swipe support, and download button"},{"src":"https:\/\/ps.w.org\/snaptapgo-gallery\/assets\/screenshot-6.png?rev=3650003","caption":"WordPress admin settings panel \u2014 connection token, layout and group label customization"},{"src":"https:\/\/ps.w.org\/snaptapgo-gallery\/assets\/screenshot-7.png?rev=3650003","caption":"Shortcode reference table in the admin panel"}],"raw_content":"<!--section=description-->\n<p><strong>SnapTapGo Gallery<\/strong> connects your WordPress site to your <a href=\"https:\/\/snaptapgo.com\">SnapTapGo<\/a> account in two powerful ways:<\/p>\n\n<p><strong>1. Live gallery shortcodes<\/strong> \u2014 Add one shortcode to any page or post. Manage every photo from your phone. The gallery on your site updates the moment you add, remove, or reorganize photos \u2014 no WordPress login needed.<\/p>\n\n<p><strong>2. Upload to WordPress from your phone<\/strong> \u2014 Send photos directly from your phone to your WordPress media library. No desktop, no FTP, no logging into WordPress. Just tap and upload.<\/p>\n\n<h4>How live galleries work<\/h4>\n\n<ol>\n<li>Create a project in the SnapTapGo app and upload your photos<\/li>\n<li>Organize photos into named groups (e.g. \"Before\", \"After\", \"Kitchen\", \"Deck\")<\/li>\n<li>Tap <strong>Share<\/strong> to get your project link<\/li>\n<li>Paste the shortcode on any WordPress page \u2014 done<\/li>\n<\/ol>\n\n<p>The gallery pulls photos live from SnapTapGo and caches them for performance. Groups appear as clearly labeled sections automatically.<\/p>\n\n<h4>How to upload photos from your phone<\/h4>\n\n<ol>\n<li>Go to <strong>Settings<\/strong> in the SnapTapGo app<\/li>\n<li>Copy your connection token and paste it into <strong>Settings \u2192 SnapTapGo<\/strong> in WordPress<\/li>\n<li>Enter your site URL in the SnapTapGo app to connect<\/li>\n<li>Open any project and tap <strong>Upload to Site<\/strong> \u2014 photos go straight to your media library<\/li>\n<\/ol>\n\n<h4>Gallery layouts<\/h4>\n\n<ul>\n<li><strong>Grid<\/strong> \u2014 equal-sized square tiles, responsive columns<\/li>\n<li><strong>Masonry<\/strong> \u2014 natural photo heights, Pinterest-style flow<\/li>\n<li><strong>Carousel<\/strong> \u2014 one photo at a time, swipe-friendly with optional autoplay<\/li>\n<li><strong>Strip<\/strong> \u2014 portrait photos side by side, perfect for project sequences with optional autoplay<\/li>\n<\/ul>\n\n<p>All layouts include a full-screen lightbox with navigation arrows, keyboard support, swipe gestures, and a download button.<\/p>\n\n<h4>Great for<\/h4>\n\n<ul>\n<li><strong>Contractors<\/strong> \u2014 show before\/after photos on your website. Update from the job site.<\/li>\n<li><strong>Landscapers &amp; home service pros<\/strong> \u2014 build a live portfolio that never goes stale.<\/li>\n<li><strong>Interior designers<\/strong> \u2014 display project rooms as organized, labeled gallery sections.<\/li>\n<li><strong>Real estate agents<\/strong> \u2014 embed property photo galleries without touching the media library.<\/li>\n<li><strong>Wedding photographers<\/strong> \u2014 share galleries with clients via a private link, then publish to your site.<\/li>\n<li><strong>Anyone<\/strong> \u2014 if you take photos on your phone and want them on your website, this is the simplest way.<\/li>\n<\/ul>\n\n<h4>Shortcode examples<\/h4>\n\n<p>Basic grid:\n    [snaptapgo project=\"YOUR_TOKEN\"]<\/p>\n\n<p>Masonry with 4 columns:\n    [snaptapgo project=\"YOUR_TOKEN\" layout=\"masonry\" columns=\"4\"]<\/p>\n\n<p>Carousel with autoplay (4-second interval):\n    [snaptapgo project=\"YOUR_TOKEN\" layout=\"carousel\" autoplay=\"4\"]<\/p>\n\n<p>Strip layout, no gaps, no lightbox (for hero use):\n    [snaptapgo project=\"YOUR_TOKEN\" layout=\"strip\" columns=\"4\" gap=\"0\" lightbox=\"false\"]<\/p>\n\n<p>Strip with rounded corners and autoplay:\n    [snaptapgo project=\"YOUR_TOKEN\" layout=\"strip\" columns=\"4\" radius=\"12px\" autoplay=\"4\"]<\/p>\n\n<h4>All shortcode attributes<\/h4>\n\n<ul>\n<li><code>project<\/code> <em>(required)<\/em> \u2014 your share token or full share URL<\/li>\n<li><code>layout<\/code> \u2014 <code>grid<\/code> (default), <code>masonry<\/code>, <code>carousel<\/code>, <code>strip<\/code><\/li>\n<li><code>columns<\/code> \u2014 1\u20136 columns (default: <code>3<\/code>; applies to grid, masonry, strip)<\/li>\n<li><code>gap<\/code> \u2014 spacing between photos in pixels (default: <code>8<\/code>; use <code>0<\/code> for no gap)<\/li>\n<li><code>radius<\/code> \u2014 border radius on photos, e.g. <code>8px<\/code>, <code>12px<\/code>, <code>50%<\/code> (default: <code>0<\/code>)<\/li>\n<li><code>limit<\/code> \u2014 maximum number of photos to display (default: <code>24<\/code>)<\/li>\n<li><code>show_names<\/code> \u2014 show uploader name on each photo: <code>true<\/code> or <code>false<\/code> (default: <code>false<\/code>)<\/li>\n<li><code>autoplay<\/code> \u2014 seconds between auto-advances for carousel and strip (default: <code>0<\/code> = off)<\/li>\n<li><code>lightbox<\/code> \u2014 set to <code>false<\/code> to disable click-to-open; useful for hero\/display-only use (default: <code>true<\/code>)<\/li>\n<\/ul>\n\n<h4>Appearance settings<\/h4>\n\n<p>Go to <strong>Settings \u2192 SnapTapGo<\/strong> to:<\/p>\n\n<ul>\n<li>Set a default layout for all galleries<\/li>\n<li>Customize group label font, size, weight, and color<\/li>\n<li>Override per-gallery with shortcode attributes<\/li>\n<\/ul>\n\n<p>Group labels inherit your theme's heading font by default \u2014 no custom CSS needed.<\/p>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>A free SnapTapGo account at <a href=\"https:\/\/snaptapgo.com\">snaptapgo.com<\/a><\/li>\n<li>Paste your connection token from the SnapTapGo app into <strong>Settings \u2192 SnapTapGo<\/strong> in WordPress<\/li>\n<li>No API key setup \u2014 connect with a single token<\/li>\n<\/ul>\n\n<p>Note: some SnapTapGo features (such as the WordPress gallery) require a Pro plan on the SnapTapGo service. Plan details at <a href=\"https:\/\/snaptapgo.com\">snaptapgo.com<\/a>.<\/p>\n\n<h4>External Services<\/h4>\n\n<p>This plugin connects to <strong>app.snaptapgo.com<\/strong>, a third-party service operated by SnapTapGo.<\/p>\n\n<ul>\n<li><strong>Gallery display:<\/strong> The plugin fetches photo data from <code>https:\/\/app.snaptapgo.com\/api\/public\/<\/code> using your project share token. This request is made from your WordPress server and results are cached for 60 seconds.<\/li>\n<li><strong>Photo uploads:<\/strong> When the upload feature is used, photos are sent from the SnapTapGo app to your WordPress site via a secure REST endpoint. No visitor data is transmitted.<\/li>\n<li><strong>Privacy policy:<\/strong> https:\/\/snaptapgo.com\/privacy<\/li>\n<li><strong>Terms of service:<\/strong> https:\/\/snaptapgo.com\/terms<\/li>\n<\/ul>\n\n<p>No visitor or user data from your WordPress site is ever sent to SnapTapGo.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>In your WordPress dashboard, go to <strong>Plugins \u2192 Add New Plugin<\/strong><\/li>\n<li>Search for <strong>SnapTapGo Gallery<\/strong> and click <strong>Install Now<\/strong><\/li>\n<li>Click <strong>Activate Plugin<\/strong><\/li>\n<li>Go to <strong>Settings \u2192 SnapTapGo<\/strong> and paste your connection token from the SnapTapGo app<\/li>\n<li>Add <code>[snaptapgo project=\"YOUR_TOKEN\"]<\/code> to any page or post<\/li>\n<\/ol>\n\n<p>To get your connection token and project token:<\/p>\n\n<ol>\n<li>Open <a href=\"https:\/\/app.snaptapgo.com\">app.snaptapgo.com<\/a> and go to <strong>Settings<\/strong><\/li>\n<li>Copy the <strong>Connection Token<\/strong> and paste it into the plugin settings<\/li>\n<li>Open a project \u2192 tap <strong>Share<\/strong> to get the share link for your shortcode<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20a%20snaptapgo%20account%3F\"><h3>Do I need a SnapTapGo account?<\/h3><\/dt>\n<dd><p>Yes. You need a free account at <a href=\"https:\/\/snaptapgo.com\">snaptapgo.com<\/a> to create projects and generate share tokens. Some SnapTapGo features require a Pro plan \u2014 see <a href=\"https:\/\/snaptapgo.com\">snaptapgo.com<\/a> for details. The plugin itself is free and open source.<\/p><\/dd>\n<dt id=\"where%20are%20my%20photos%20stored%3F\"><h3>Where are my photos stored?<\/h3><\/dt>\n<dd><p>Photos are stored in SnapTapGo, not in your WordPress media library (unless you use the Upload to Site feature). This keeps your WordPress installation lean and means you can manage everything from the SnapTapGo app without touching WordPress at all.<\/p><\/dd>\n<dt id=\"what%20is%20the%20connection%20token%20for%3F\"><h3>What is the connection token for?<\/h3><\/dt>\n<dd><p>The connection token links your SnapTapGo account to this WordPress plugin. It does two things: (1) activates the gallery shortcodes, and (2) authorizes the SnapTapGo app to upload photos directly to your media library. You'll find your token in the SnapTapGo app under Settings.<\/p><\/dd>\n<dt id=\"how%20do%20i%20update%20the%20photos%20on%20my%20site%3F\"><h3>How do I update the photos on my site?<\/h3><\/dt>\n<dd><p>Just add, remove, or reorganize photos in the SnapTapGo app. The gallery on your site refreshes automatically. Cached results update within 60 seconds.<\/p><\/dd>\n<dt id=\"can%20i%20show%20photos%20organized%20into%20sections%3F\"><h3>Can I show photos organized into sections?<\/h3><\/dt>\n<dd><p>Yes. Create named groups in your SnapTapGo project (e.g. \"Before\", \"After\", \"Kitchen\"). These groups appear as labeled sections in the gallery automatically.<\/p><\/dd>\n<dt id=\"can%20i%20use%20multiple%20galleries%20on%20the%20same%20page%3F\"><h3>Can I use multiple galleries on the same page?<\/h3><\/dt>\n<dd><p>Yes. Each shortcode is independent and can point to a different project with different layout settings.<\/p><\/dd>\n<dt id=\"my%20gallery%20shows%20%22could%20not%20load%20gallery%22%20%E2%80%94%20what%27s%20wrong%3F\"><h3>My gallery shows \"Could not load gallery\" \u2014 what's wrong?<\/h3><\/dt>\n<dd><p>Check that your project token is correct and that your SnapTapGo account is on a Pro plan. Make sure a connection token is saved in <strong>Settings \u2192 SnapTapGo<\/strong>. You can verify by visiting your share link directly in a browser (e.g. <code>https:\/\/app.snaptapgo.com\/p\/YOUR_TOKEN<\/code>).<\/p><\/dd>\n<dt id=\"does%20this%20work%20with%20page%20builders%20like%20elementor%20or%20divi%3F\"><h3>Does this work with page builders like Elementor or Divi?<\/h3><\/dt>\n<dd><p>Yes. Use the shortcode widget in any page builder that supports shortcodes.<\/p><\/dd>\n<dt id=\"can%20visitors%20download%20photos%3F\"><h3>Can visitors download photos?<\/h3><\/dt>\n<dd><p>Yes. Clicking any photo opens a full-screen lightbox with a download button. Set <code>lightbox=\"false\"<\/code> to disable the lightbox entirely (useful for hero banners or display-only galleries).<\/p><\/dd>\n<dt id=\"is%20there%20a%20limit%20on%20how%20many%20photos%20i%20can%20display%3F\"><h3>Is there a limit on how many photos I can display?<\/h3><\/dt>\n<dd><p>The <code>limit<\/code> shortcode attribute controls how many photos are shown (default: 24, max: your project's photo count). Your SnapTapGo plan may have its own photo limits per project.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20slow%20down%20my%20site%3F\"><h3>Does the plugin slow down my site?<\/h3><\/dt>\n<dd><p>Photo data is cached in WordPress for 60 seconds using transients, so external API requests are minimal. Photos are loaded lazily and served from SnapTapGo's CDN, not from your server.<\/p><\/dd>\n<dt id=\"can%20i%20remove%20the%20rounded%20corners%20from%20photos%3F\"><h3>Can I remove the rounded corners from photos?<\/h3><\/dt>\n<dd><p>Yes. Set <code>radius=\"0\"<\/code> in your shortcode. You can also add any CSS border-radius value like <code>radius=\"8px\"<\/code> or <code>radius=\"50%\"<\/code>.<\/p><\/dd>\n<dt id=\"can%20galleries%20auto-advance%3F\"><h3>Can galleries auto-advance?<\/h3><\/dt>\n<dd><p>Yes, for carousel and strip layouts. Add <code>autoplay=\"4\"<\/code> (or any number of seconds) to enable automatic sliding.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.7.2<\/h4>\n\n<ul>\n<li>Fix carousel and strip layouts failing with \"Splide is not defined\"<\/li>\n<li>Strip and carousel photos now fade in correctly (they were left invisible after 1.7.1)<\/li>\n<\/ul>\n\n<h4>1.7.1<\/h4>\n\n<ul>\n<li>First row of grid and masonry galleries now loads immediately instead of lazy-loading<\/li>\n<li>Photos fade in when ready; uploader names no longer appear on empty placeholder tiles<\/li>\n<\/ul>\n\n<h4>1.7.0<\/h4>\n\n<ul>\n<li>First WordPress.org directory release<\/li>\n<li>Live gallery shortcode with grid, masonry, carousel, and strip layouts<\/li>\n<li>Connection token authentication and phone-to-media-library uploads<\/li>\n<li>Full-screen lightbox, named group sections, and admin appearance settings<\/li>\n<\/ul>\n\n<h4>1.6.2<\/h4>\n\n<ul>\n<li>Strip: initialize Splide only after all images are loaded and decoded \u2014 eliminates flash on first loop<\/li>\n<\/ul>\n\n<h4>1.6.1<\/h4>\n\n<ul>\n<li>Fix arrow positioning by loading full Splide CSS<\/li>\n<li>Fix gray flash on loop by adding dark slide background and preloadPages<\/li>\n<\/ul>\n\n<h4>1.6.0<\/h4>\n\n<ul>\n<li>Strip and carousel layouts now powered by Splide.js (bundled, no CDN) for rock-solid infinite looping and smooth animation<\/li>\n<li>Removed custom slider code in favour of battle-tested library<\/li>\n<li>All shortcode attributes (columns, gap, radius, autoplay) fully supported<\/li>\n<\/ul>\n\n<h4>1.5.3<\/h4>\n\n<ul>\n<li>Strip layout: all images now preloaded and decoded before autoplay starts, eliminating choppiness on the first pass<\/li>\n<\/ul>\n\n<h4>1.5.2<\/h4>\n\n<ul>\n<li>Strip layout: seamless infinite loop \u2014 reaching the last photo now wraps smoothly to the first with no backwards slide<\/li>\n<li>Strip layout: hover zoom is now smooth on first interaction (GPU layer promoted at page load)<\/li>\n<\/ul>\n\n<h4>1.5.1<\/h4>\n\n<ul>\n<li>Added full internationalization (i18n) to all admin-facing strings for translation-readiness<\/li>\n<li>Minor code quality improvements<\/li>\n<\/ul>\n\n<h4>1.5.0<\/h4>\n\n<ul>\n<li>Added connection token authentication \u2014 replaces WordPress Application Passwords for a simpler, safer setup<\/li>\n<li>Added REST endpoint for direct photo uploads from the SnapTapGo app to your media library<\/li>\n<li>Added <code>GET \/wp-json\/snaptapgo\/v1\/ping<\/code> endpoint for connection verification<\/li>\n<li>Gallery shortcodes now require a saved connection token to display (cleaner all-or-nothing behavior)<\/li>\n<li>Improved token mismatch error messages with actionable instructions<\/li>\n<li>Updated admin settings panel with prominent connection token section<\/li>\n<\/ul>\n\n<h4>1.4.4<\/h4>\n\n<ul>\n<li>Added GPU layer promotion (<code>will-change: transform<\/code>) to strip slides and track for smoother autoplay animation<\/li>\n<\/ul>\n\n<h4>1.4.3<\/h4>\n\n<ul>\n<li>Strip layout: pre-decode image bitmaps using <code>img.decode()<\/code> before starting autoplay to eliminate first-slide flash<\/li>\n<\/ul>\n\n<h4>1.4.2<\/h4>\n\n<ul>\n<li>Strip layout: added <code>&lt;link rel=\"preload\"&gt;<\/code> tags for first visible images to initiate fetch as early as possible<\/li>\n<li>Strip layout: kept preloader Image objects in a hard reference array to prevent garbage collection during loading<\/li>\n<\/ul>\n\n<h4>1.4.1<\/h4>\n\n<ul>\n<li>Added <code>radius<\/code> shortcode attribute \u2014 set border radius on photos (e.g. <code>radius=\"8px\"<\/code>, <code>radius=\"50%\"<\/code>, default <code>0<\/code>)<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Strip layout: fixed partial image bleed by calculating slide widths precisely from <code>columns<\/code> and <code>gap<\/code> values<\/li>\n<li>Strip layout: changed image loading to <code>eager<\/code> for faster initial render<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Added <code>autoplay<\/code> shortcode attribute for carousel and strip layouts (seconds between advances; <code>0<\/code> = off)<\/li>\n<li>Added <code>lightbox<\/code> shortcode attribute \u2014 set to <code>false<\/code> for hero\/display-only galleries<\/li>\n<li>Added <code>columns<\/code> support for strip layout<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Added strip layout: portrait photos displayed side by side with scroll navigation<\/li>\n<li>Added carousel layout: one photo at a time with swipe and dot navigation<\/li>\n<li>Added masonry layout: natural photo heights without cropping<\/li>\n<li>Added WordPress admin settings for default layout and group label styling (color, size, weight, font family)<\/li>\n<li>Improved lightbox: keyboard navigation, swipe gestures, download button, photo counter<\/li>\n<li>Shortcode now accepts full share URLs in addition to bare tokens<\/li>\n<li>Inline styles applied to grid elements for reliable rendering across all themes<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Added support for project groups \u2014 photos organized into named sections display as labeled gallery sections<\/li>\n<li>Improved cache key to prevent stale data after plugin updates<\/li>\n<li>Improved error messages for missing tokens and API failures<\/li>\n<li>Added responsive column breakpoints for mobile devices<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Grid layout with lightbox<\/li>\n<li>Shortcode: <code>[snaptapgo project=\"TOKEN\"]<\/code><\/li>\n<li>Attributes: <code>columns<\/code>, <code>limit<\/code>, <code>show_names<\/code>, <code>gap<\/code><\/li>\n<\/ul>","raw_excerpt":"Display a live photo gallery from your SnapTapGo project on any WordPress page. Photos update automatically as you manage them from your phone.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/349820","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=349820"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/snaptapgo"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=349820"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=349820"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=349820"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=349820"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=349820"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=349820"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}