Skip to content
Showcase & Layouts Showcase

Layout Gallery

Every layout engine included in CloudFold, grouped by use case. Each card maps to a documented shortcode and Free or Pro capability.

Grid-Based Layouts

Layout preview

Masonry Grid

Free

Pinterest-style variable height columns that preserve aspect ratio without cropping.

Layout preview

Justified Engine

Free

Flush, uniform-height rows ideal for photography portfolios and editorial galleries.

Layout preview

Grid Layout

Free

Uniform rows and columns for predictable, catalog-style presentation.

Editorial & Story Layouts

Layout preview

Metro Layout

Pro

Mixed-size tiles that give hero images more visual weight than secondary assets.

Layout preview

Mosaic Layout

Pro

Artistic asymmetry with intentional visual rhythm for lookbooks and campaigns.

Layout preview

Story Layout

Pro

Story-bubble presentation built for quick, mobile-first tap-through interaction.

Motion & Focus Layouts

Layout preview

Video Carousel

Free

Touch-friendly slider that mixes high-res images and 4K video in one track.

Layout preview

Slider Layout

Free

Full-width hero transitions for landing-page banners and visual narratives.

Getting Started Introduction

Introduction

CloudFold is a next-generation Digital Asset Management (DAM) and layout engine for modern WordPress. It bridges the gap between the native media library and professional asset organization.

Welcome to the new standard

Whether you're a photographer managing thousands of high-res images, or an agency building highly optimized client sites, CloudFold is designed to stay out of your way while delivering maximum performance.

Why CloudFold?

The native WordPress media library hasn't fundamentally changed in years. It lacks folder organization, modern frontend delivery, and intelligent metadata management.

  • CloudFold is built from the ground up using React 18 for the admin dashboard and strict vanilla JavaScript for the frontend.
  • CloudFold operates as a "Virtual Layer" over your existing media, so nothing about your file structure ever changes.

Core Pillars

Virtual Folders

Organize assets visually without changing physical file paths. Your SEO and existing image links remain 100% intact.

Layout Engine

Choose from 7 modern layouts including Masonry, Justified, and Carousel. All 100% responsive and zero-dependency.

Getting Started Quick Start

Quick Start Guide

This guide walks you through initializing the React 18-powered asset management system and rendering your first zero-jQuery, highly optimized gallery in minutes.

System Requirements

CloudFold leverages modern web APIs. Ensure your environment meets these baselines: WordPress 6.0+, PHP 7.4+ (8.1 recommended), and a publicly accessible /wp-json/ REST API endpoint.

Step 1: Installation

The fastest way to get started is by uploading the cloudfold.zip file to your WordPress dashboard. For detailed instructions on other methods like FTP or WP-CLI, see the full Installation guide.

Step 2: Rendering Your First Gallery

CloudFold provides a seamless native integration with the Gutenberg block editor. Alternatively, render a gallery anywhere with a shortcode:

html
<!-- Drop this into any shortcode block -->
[cloudfold_gallery id="12" layout="justified" gap="10px" lazyload="true"]

Canonical Shortcodes

Shortcode Primary Attributes Notes
[cloudfold_gallery] id, layout, columns, gap, lightbox Primary published gallery renderer.
[cloudfold_album] id, layout Album wrapper for grouped gallery output.
[cloudfold_smart] tag, category, year, limit Dynamic/metadata-based gallery view.
[cloudfold_before_after] before, after, height, start Use before/after as the canonical attributes.
[cloudfold_video_gallery] ids, autoplay, loop Video-specific gallery shortcode.
Getting Started Installation

Installation

Set up CloudFold in your environment using one of the three supported methods.

Method Difficulty Best For
Dashboard Easy Standard WordPress users
FTP / SFTP Medium Managed hosting with upload limits
WP-CLI Pro Developers & headless deployments

Via WordPress Dashboard

The most common method to install CloudFold.

  1. Download cloudfold.zip from your customer portal or email receipt.
  2. Go to Plugins > Add New > Upload Plugin and select your zip file.
  3. Click Install Now followed by Activate Plugin to initialize the React backend.

Developer: WP-CLI

Automate your deployment and database migrations with the native CLI commands.

bash
# 1. Install the plugin from a path or URL
wp plugin install /path/to/cloudfold.zip --activate

# 2. Prime the Virtual Folder relationship engine
wp cloudfold migrate:init --force

License Activation

A valid license is required to access advanced features and receive automatic security updates. Navigate to CloudFold > Settings, open the License tab, and paste your key.

License State Matrix

State Meaning Operator Action
Active License verified for current site. Proceed with premium modules and validate module visibility.
Inactive No valid activation found. Activate key from License tab and retry gated actions.
Invalid Key rejected or not matching domain/entitlement. Recheck key/domain binding and purchase entitlement.
Error Remote validation/network/server failure. Retry later and attach diagnostics in a support ticket.
Core Concepts Virtual Folders

Virtual Folders

The Virtual Layer is the cornerstone of CloudFold. It lets you organize assets logically without ever modifying their physical file structure or URLs.

The Concept

Standard WordPress media management is linear. To categorize an image, you usually rely on tags or move files into physical directories on the server. Moving files breaks SEO indexing and leads to 404 errors on existing posts.

Physical Folders

Moves files on disk. Renames URLs. Breaks SEO. Complex migrations.

CloudFold Virtual Layer

Logical mapping. Paths stay constant. Zero SEO impact. Infinite organization.

Key Benefits

  • SEO Integrity: since the attachment ID and URL never change, search rankings stay undisturbed regardless of how often you re-organize your library.
  • Multi-Assignment: assign a single image to multiple virtual folders (e.g. "Architecture" and "Client Review") without creating duplicate files on the server.
  • Lightning Fast: optimized custom SQL indexes mean querying a virtual folder with 50,000 assets takes less than 12ms.

The Media Organizer Interface

The React-powered Media Organizer provides a desktop-class drag-and-drop experience. You can create nested folders, bulk-move items, and manage asset metadata through a centralized "Gallery Drawer".

Pro Tip: Recursive Folders

When rendering a gallery via shortcode, use the folder ID of a parent folder to automatically include all assets from its sub-folders.

Core Concepts AI Alt Text

AI Alt Text Engine

Automate your SEO workflow. CloudFold integrates with vision APIs to generate contextually accurate alt text, captions, and descriptions for your media — rendered through a strict zero-jQuery vanilla JS frontend.

AI Providers

CloudFold supports the following AI providers in current runtime settings:

G

Gemini

Primary provider option for content/image AI tasks in CloudFold settings.

OR

OpenRouter

Flexible routed provider; model selection can include OpenAI/Claude families.

HF

HuggingFace

Model-driven option with CloudFold fallback support in generation pipelines.

Modern Web APIs Utilized

  • Intersection Observer: native lazy-loading for images, using the browser's hardware-accelerated intersection API to load assets precisely when they enter the viewport.
  • CSS Grid & Flexbox: 90% of the Masonry and Metro layout logic is offloaded to native CSS, triggering JavaScript recalculation only on window resize.
  • requestAnimationFrame: visual transitions and layout work are batched alongside the browser's native paint cycle, eliminating jank and dropped frames.
  • Event Delegation: a single listener sits at the gallery root instead of hundreds of per-item click listeners, saving memory and processing overhead.

Modular Asset Loading

CloudFold strictly adheres to WordPress best practices for asset enqueuing. If a page does not contain a CloudFold gallery, zero plugin scripts or styles are loaded. Assets are also loaded per layout: a Justified Grid page only loads the Justified module, ignoring Carousel and Masonry dependencies entirely.

Layout Engine Masonry Grid

Masonry Grid

The Masonry layout places items in optimal positions based on available vertical space, similar to Pinterest. It preserves vertical aspect ratios without any forced cropping.

Live layout preview
Pinterest-style variable height columns

When to Use Masonry

Use the Masonry layout when your gallery consists of images with highly variable heights (a mix of portrait and landscape orientations) and you want to prevent white space gaps without cropping the original images.

Implementation

To render a masonry grid, set the layout parameter to masonry. You can define the number of columns to generate.

html
<!-- Basic Masonry Shortcode -->
[cloudfold_gallery id="12" layout="masonry" columns="3" gap="15px"]

Responsive Columns

CloudFold automatically handles responsiveness. By default, a 3-column layout drops to 2 columns on tablets and 1 column on mobile. You can explicitly override these breakpoints:

html
<!-- Advanced Responsive Masonry -->
[cloudfold_gallery 
    id="12" 
    layout="masonry" 
    columns_desktop="4" 
    columns_tablet="3" 
    columns_mobile="2"
]

Technical Details

The Masonry engine uses native CSS column-count combined with a lightweight JavaScript fallback for older browsers. This ensures the layout renders immediately on initial DOM load, preventing the "FOUC" (Flash of Unstyled Content) commonly seen in jQuery-based masonry libraries.

Layout Engine Justified Engine

Justified Engine

The Justified layout creates a perfectly flushed grid where every row has the exact same height, similar to Flickr or Google Images. It ensures no images are cropped while maintaining a clean, professional aesthetic.

Live layout preview
Flush, uniform-height rows

The Algorithm

The Justified engine mathematically calculates the aspect ratio of every image in a given query. It then groups them into rows and dynamically adjusts the row height to perfectly fit the container's width — all on the client side, in milliseconds.

Ideal Use Case

This layout is highly recommended for photography portfolios, architectural showcases, and any scenario where preserving the exact framing of a landscape image is critical.

Implementation

Enforce a Justified grid via Gutenberg block properties, or by passing layout parameters to the shortcode:

html
<!-- Basic Justified Shortcode -->
[cloudfold_gallery id="12" layout="justified" row_height="250" gap="10px"]

Configuration Parameters

Property Type Default Description
row_height integer 250 Target height in pixels for each row. The engine deviates slightly to make edges flush.
max_row_height integer 350 Prevents images from becoming aggressively upscaled on ultra-wide screens.
last_row string nojustify Behavior of the final row. Accepts nojustify, justify, center, or hide.

Last Row Behavior

One common issue with Justified layouts is the final row. If there aren't enough images to complete the row, stretching them to fit the container creates massive, blurry images. By default, CloudFold sets last_row="nojustify", aligning remaining images to the left using their natural calculated size.

Layout Engine Carousel Layout

Video Carousel

A touch-friendly, high-performance carousel designed for mixed-media content. Display high-res images and 4K video seamlessly in a single interactive slider.

Live layout preview
Touch-swipe ready, mixed media track

Mixed Media Support

The Carousel layout natively supports mixed media. You can combine static images, self-hosted MP4 files, and external embeds (YouTube, Vimeo) in the same slider. When a user clicks a video slide, the carousel pauses automatically and opens the video in the hardware-accelerated lightbox.

Implementation

Render a fully functional carousel with touch-swipe capabilities by changing the layout parameter.

html
<!-- Basic Carousel Shortcode -->
[cloudfold_gallery id="12" layout="carousel" autoplay="true" interval="3000"]

Configuration Parameters

Property Type Default Description
autoplay boolean false Automatically transitions to the next slide. Pauses on hover or touch.
interval integer 5000 Delay between slides in milliseconds (if autoplay is true).
loop boolean true Infinite scrolling, looping seamlessly from last to first slide.
show_arrows boolean true Displays previous/next navigation arrows on desktop screens.
show_dots boolean true Displays pagination dots at the bottom of the carousel.

Mobile Optimization

On touch devices, show_arrows is automatically disabled to save screen space, and native hardware-accelerated swipe gestures are enabled.

Layout Engine Grid Layout

Grid Layout

Uniform rows and columns for predictable geometry and clean catalog-style presentation across portfolio and commerce pages.

Live layout preview
Uniform rows and columns

When to Use

Use Grid for product galleries, team portfolios, and consistent card-based visual systems.

Implementation

html
[cloudfold_gallery id="12" layout="grid" columns="4" gap="12px"]
Parameter Default Guidance
columns 3 Use 3-5 based on container width and card density.
gap 10 Keep 8-14px for balanced spacing.
grid_ratio landscape Use a consistent ratio for ecommerce-style symmetry.

Layout Tip

Grid is the safest default when visual rhythm and spacing consistency matter more than artistic asymmetry.

Layout Engine Metro Layout Pro Only

Metro Layout

Mixed-size tiles inspired by editorial blocks, ideal for standout featured assets and story-led campaigns.

Live layout preview
Mixed-size editorial tiles

When to Use

Use Metro when hero images need more visual weight than secondary images.

Implementation

html
[cloudfold_gallery id="12" layout="metro" columns="4" gap="10px"]
Parameter Suggested Value Effect
columns 4-6 Improves tile variation patterns.
gap 8-14px Controls visual breathing room.
Layout Engine Mosaic Layout Pro Only

Mosaic Layout

Artistic asymmetry with intentional visual rhythm for lookbooks and creative campaigns.

Live layout preview
Asymmetric collage rhythm

When to Use

Use Mosaic for storytelling pages where uniform symmetry is not the design goal.

Implementation

html
[cloudfold_gallery id="12" layout="mosaic" columns="4" gap="10px"]
Parameter Suggested Value Effect
columns 4-5 Controls how dense the collage appears.
gap 8-12px Lower gaps make the collage feel tighter.

Creative Tip

Mosaic works best when you mix portrait and landscape assets intentionally.

Layout Engine Slider Layout

Slider Layout

Full-width hero transitions for landing-page banners and visual narratives.

Live layout preview
Full-width hero transitions

When to Use

Use Slider for one-at-a-time focus, where each image needs maximum viewport attention.

Implementation

html
[cloudfold_gallery id="12" layout="slider" slider_height="560"]
Parameter Default Guidance
slider_height 560 Use 420-640 depending on the hero area.
lightbox true Keep enabled for zoomed narrative flow.
Layout Engine Story Layout Pro Only

Story Layout

Story-bubble style presentation designed for quick tap-through interaction patterns.

Live layout preview
Tap-through bubble sequence

When to Use

Use Story for bite-sized visual sequences and mobile-first audience engagement.

Implementation

html
[cloudfold_gallery id="12" layout="story" lightbox="true"]
Parameter Default Guidance
lightbox true Keep enabled for story tap-through continuity.
gap 10 Use a small gap for compact bubble rows.

Mobile Tip

Story layout performs best with portrait-oriented images and short interaction loops.

Advanced Features Smart Focal Point Pro Only

Smart Focal Point

Stop losing heads and key subjects in your thumbnails. CloudFold introduces an interactive Focal Point picker directly inside the Gallery Drawer to ensure perfect crops across all devices.

The Cropping Problem

When displaying a portrait image in a square grid, standard CSS behavior (object-fit: cover) crops equally from all sides, anchoring to the center. If your subject's face is near the top of the image, it will inevitably be cut off.

1. Select Focal Point
2. Result (Square Crop)
Subject preserved

How It Works

When you click on the image preview within the CloudFold Media Organizer, CloudFold captures the X and Y coordinate percentages. These coordinates are saved directly to the attachment's metadata.

On the frontend, the layout engine dynamically applies these coordinates as an inline CSS object-position property to the image. Because this relies on native CSS, the feature has zero impact on load times or JavaScript execution.

html
<!-- Generated DOM Output -->
<img 
    src="portrait-shot.jpg" 
    style="object-fit: cover; object-position: 50% 25%;"
/>

Theme Compatibility

Because focal points are saved as standard attachment meta (_cloudfold_focal_point), you can access and use these coordinates in your own custom theme templates outside of CloudFold galleries.

Advanced Features Image Optimization

Image Optimization

Deliver pixel-perfect quality at a fraction of the file size. CloudFold includes a built-in optimizer to automatically serve WebP formats, generate precise srcset sizes, and manage lazy loading.

Automated WebP Conversion

When an image is uploaded to WordPress, CloudFold's background queue hooks into the native attachment generation process and silently generates modern WebP versions of your JPEGs and PNGs.

Bandwidth Savings

WebP images are typically 25% to 34% smaller than comparable JPEG images at equivalent quality scores, dramatically reducing gallery load times.

Smart Srcset Engine

Instead of relying purely on WordPress default sizes (thumbnail, medium, large), CloudFold calculates the exact mathematical dimensions required by your specific layout and outputs an optimized picture and srcset element.

html
<!-- Example of generated DOM -->
<picture>
    <source type="image/webp" srcset="image-400.webp 400w, image-800.webp 800w" sizes="(max-width: 768px) 100vw, 33vw">
    <img src="image-800.jpg" alt="Optimized SEO description" loading="lazy" />
</picture>

Intersection Observer Lazy Loading

While browsers now support native loading="lazy", it can sometimes be too aggressive or inconsistent across browser engines. CloudFold employs a highly tuned IntersectionObserver in vanilla JavaScript — images swap into the DOM only when they come within a configurable threshold (e.g. 200px) of the viewport, so off-screen assets consume zero bandwidth during initial page load.

Advanced Features Interactive Hotspots Pro Only

Interactive Hotspots

Turn static galleries into shoppable experiences. Tag specific elements inside an image with interactive tooltips, links, or direct WooCommerce product cards.

Modern Ceramic Vase $45.00
Hotspots stay pinned using percentage-based coordinates

Adding Hotspots

Hotspots can be added via the Media Organizer drawer. When editing an image, switch to the Hotspots tab, click anywhere on the image preview to drop a pin, then fill out the resulting form to add text, a URL, or link it to a product.

WooCommerce Integration

CloudFold includes native WooCommerce integration via class-cloudfold-woocommerce.php. When adding a hotspot, select "WooCommerce Product" as the type and search your store catalog. The tooltip automatically pulls the product's title, price, featured image, and an "Add to Cart" button.

Woo Feature Matrix

Feature Behavior Where to Verify
Product-linked Hotspots Tooltip can resolve product title/price/CTA from the selected product. Gallery image drawer > Hotspots tab
Single Product Enhancement CloudFold gallery runtime can be injected on product media surfaces. Woo single product page
Variation Media Sync Variation-driven media state stays compatible with Woo variation flows. Variable product with multiple variations
Lightbox/Zoom Compatibility CloudFold lightbox behavior coexists with Woo product viewing workflows. Product gallery click/zoom interaction

Setup Flow (Recommended)

  1. Enable WooCommerce and confirm products have media assets assigned.
  2. Configure CloudFold gallery settings (layout, lightbox, interaction style).
  3. Add Woo-linked hotspots from the image drawer where product tagging is needed.
  4. Test variable product pages and quick interactions (zoom/lightbox/cart CTA).
  5. Clear cache/CDN and verify final frontend behavior on desktop and mobile.

Compatibility Notes

  • Theme overrides: some Woo themes replace default gallery hooks; validate render priority after activation.
  • Performance plugins: aggressive JS deferral/minification may delay hotspot/lightbox bindings.
  • Caching: product pages with dynamic variation states should bypass stale fragment caches where needed.

Woo Troubleshooting

Symptom Likely Cause Fix
Hotspot product data missing Product link not persisted or product unpublished Re-select product in hotspot config and re-save gallery.
Variation image mismatch Theme/custom script overriding media switch logic Disable conflicting script and re-test variation flow.
Lightbox conflict on product page Two lightbox runtimes bound to same media node Disable duplicate lightbox provider and keep one runtime.
Add-to-cart tooltip CTA not responding Cached stale fragment or JS deferral delay Purge cache and exclude Woo/product scripts from hard deferral.

Responsive Behavior

Because hotspots are positioned using CSS percentage coordinates (e.g. top: 45%; left: 30%), they remain perfectly pinned to their target object even when the gallery scales down to mobile sizes.

Advanced Features Client Proofing Pro Only

Client Proofing

Designed for professional photographers and creative agencies. Allow your clients to review, approve, reject, and comment on gallery assets in a secure, private environment.

Clients approve or reject directly from the gallery

Key Features

  • Approval Workflow: clients click intuitive checkmark or cross buttons on images to mark them as approved or rejected.
  • Client Comments: an integrated commenting system within the Lightbox lets clients request specific edits.
  • Admin Dashboard: photographers view a summarized breakdown of all client selections directly in the WordPress backend, with easy bulk downloading of approved files.

Setting Up a Proofing Gallery

To enable proofing, toggle the proofing attribute on your gallery block or shortcode. It is highly recommended to combine this with WordPress core password protection.

html
<!-- Enabling Proofing Mode -->
[cloudfold_gallery id="12" layout="masonry" proofing="true"]

Proofing Policy Controls

Control Purpose Recommendation
proofing_auth_method Defines reviewer access/auth policy. Use stricter auth for external client reviews.
proofing_allow_comments Enables reviewer comments. Enable for collaborative iteration rounds.
proofing_allow_rejection Allows explicit reject state. Enable for binary approval workflows.
proofing_limit_min/max Selection limits. Set realistic ranges to avoid blocked submissions.
proofing_expiry_hours Proof session expiry window. Set a shorter expiry for sensitive client work.

Watermarking Support

When proofing mode is enabled, CloudFold can automatically apply a non-destructive, dynamic CSS watermark over the frontend images to protect your unpurchased intellectual property.

Advanced Features Cloud Offloading Pro Only

Cloud Offloading

Move media delivery from local disk to cloud storage with rule-based routing, URL rewriting, and CDN-ready endpoints.

Supported Providers

CloudFold currently supports these storage/offload providers:

S3

AWS S3 / S3-compatible

Includes S3-compatible endpoints such as DigitalOcean Spaces.

R2

Cloudflare R2

Requires an account endpoint (R2 custom endpoint URL).

GCS

Google Cloud Storage

Uses GCS HMAC credentials for object operations.

DB

Dropbox

Supported with a token-based connection flow.

GD

Google Drive

Supported with OAuth/token flow; optional folder targeting.

How It Works

Once credentials and rules are configured, the runtime flow is:

1Upload
2Process
3Offload
4Rewrite URL
5Serve via CDN

Offload Decision Path

If offload output does not match expectations, follow this deterministic path before retrying bulk operations:

  1. Confirm provider credentials and bucket/container access in Integrations.
  2. Verify the target rule is enabled and priority order is correct.
  3. Validate include-size and ACL/signed URL settings for the failing file type.
  4. Run a single-file test upload and inspect the resulting URL rewrite behavior.
  5. If still failing, review Insights telemetry and server logs before mass retries.
Developers REST API

REST API

CloudFold exposes custom REST endpoints, making it perfectly suited for headless WordPress setups, decoupled Next.js apps, or custom mobile applications.

Endpoint Contracts

All CloudFold endpoints are prefixed with /wp-json/cloudfold/v1/. Route surfaces are split by capability domain rather than one generic endpoint.

Family Typical Methods Auth Pattern
/library/* GET, POST Admin nonce + capability checks
/galleries/* GET, POST, PUT Admin nonce + capability checks
/integrations/* GET, POST Admin nonce + capability checks
/offload-rules/* GET, POST, DELETE Admin nonce + capability checks
/insights/* GET Admin nonce + capability checks
/public/* / proofing routes GET, POST Route-specific public/token policy

Authentication

Public read routes can be open or tokenized depending on route policy. Admin operations must send a valid WordPress REST nonce from an active admin session.

Example Request

Admin-request example (nonce-based):

javascript
const response = await fetch('/wp-json/cloudfold/v1/library/media?page=1&per_page=20', {
  headers: {
    'X-WP-Nonce': window.cloudfoldAdmin?.restNonce || '',
    'Content-Type': 'application/json'
  }
});
if (!response.ok) {
  throw new Error(`CloudFold REST error ${response.status}`);
}
const payload = await response.json();

Error Handling Matrix

Code Common Cause Action
400 Validation/payload issue Recheck the request body and parameter types.
401/403 Nonce/session/capability mismatch Refresh the admin session and retry with a new nonce.
429 Throttling/abuse guard Back off and retry at a lower rate.
5xx Runtime/provider/server failure Check Insights and server logs, then retry safely.
Developers Developer Notes

Developer Integration Notes

This section documents source-backed integration patterns only. Use shortcodes for rendering and REST routes for admin/headless workflows.

Integration Primitives

  • Shortcodes: cloudfold_gallery, cloudfold_album, cloudfold_smart, cloudfold_before_after, cloudfold_video_gallery.
  • REST Base: /wp-json/cloudfold/v1/ for admin/public route families.
  • Admin SPA routes: hash routes such as #/library, #/galleries, #/gallery-edit/{id}, #/integrations, #/offload-rules, #/job-queue, #/insights, #/license.
php
<?php
// Source-backed render pattern: shortcode in template context
echo do_shortcode(
    '[cloudfold_gallery id="42" layout="masonry" columns="4"]'
);

Safe Contract Notes

Prefer documented routes and shortcodes over direct plugin internals. Internal service classes may change without public API guarantees.

http
GET /wp-json/cloudfold/v1/library/media?page=1&per_page=20
X-WP-Nonce: {wp_rest_nonce}
Developers Gutenberg Blocks

Gutenberg Blocks

CloudFold registers fully native Gutenberg blocks built on React, so editors see live, pixel-perfect gallery previews inside the post editor without relying on shortcode previews.

Registered Blocks

The plugin registers several blocks via block.json. You can target these blocks in your own custom patterns or block templates.

  • cloudfold/gallery — the core dynamic block; a wrapper that reads the layout attribute to render the correct UI.
  • cloudfold/masonry — a dedicated block that forces the Masonry layout interface in the editor sidebar.
  • cloudfold/carousel — a block exposing interval and autoplay attributes directly to the editor UI.

Block Attributes

When declaring a CloudFold block programmatically, pass attributes as a JSON object inside the block comment:

html
<!-- wp:cloudfold/gallery {"id":42,"layout":"justified","rowHeight":300} /-->

Server-Side Rendering (SSR)

All CloudFold Gutenberg blocks are dynamic blocks rendered via PHP. This means the frontend markup is generated on the server, ensuring excellent SEO and avoiding bloated block content in the database.

Help & Support Troubleshooting

Troubleshooting & FAQs

Experiencing issues? Here are the most common solutions and debugging steps to get CloudFold running smoothly.

Images Not Appearing — Check CDN Settings

Ensure your CDN base URL is correct and that your cloud storage provider (S3/R2) has the correct bucket permissions.

Layout Breaking or Overlapping

If your Masonry or Justified grid looks broken or images overlap, it's typically related to caching or theme conflicts.

  • Lazy Load Conflicts: disable third-party lazy-loading plugins (like Smush or Autoptimize) for the page containing the gallery. CloudFold uses its own optimized IntersectionObserver.
  • Empty Image Dimensions: the Layout Engine relies on the width and height attributes of the <img> tag to calculate the grid before images load. Ensure your theme isn't stripping these attributes.

Folders Missing After Update

If you've recently updated the plugin and your Virtual Folders appear empty, you likely need to run the database migration script. Trigger this manually via WP-CLI:

bash
# Force the database schema sync
wp cloudfold migrate:init --force