Post Meta Schema

All per-flipbook fields live in wp_postmeta with the _tncfb3d_ prefix. Overridable fields also have a _tncfb3d_{field}_override companion (set to 1 when the per-flipbook value should win over the global default).

The single source of truth is class-tnc-flipbook-3d-meta-schema.php. Read it programmatically:

$schema  = TNC_Flipbook_3D_Meta_Schema::get();
$default = TNC_Flipbook_3D_Meta_Schema::default_for( 'flipDuration' );
$value   = TNC_Flipbook_3D_Meta_Schema::sanitize( 'flipDuration', $raw );

Content source

source_type (pdf|images|multi_pdf), pdf_id, pdf_password, pdf_ids (array of {id, name}), image_ids (array), page_count.

Display

width, height, flipDuration, fastFlipDuration, flipSound, flipSoundCustom_id, curlIntensity, flipEffect, renderScale.

Appearance

toolbarLayout, flipbookStyle (default|hardcover|spiral), isRTL, paperType, paperTint, pageShininess, pageRoughness.

Colors

chrome (slate|paper|midnight|ocean|forest|glass|sepia), brandColor, coverColor, colorMode (auto|dark|light).

Camera & 3D

cameraDistance, cameraAngle, cameraFOV, bookTilt.

Lighting

ambientLightIntensity, mainLightIntensity, mainLightPosition, shadowsEnabled, shadowSoftness, shadowOpacity, dropShadowEnabled.

UI & navigation

language, linkTarget, deepLinking, pdfLinkOverlay, renderMode, defaultViewMode, pageMode, forceSinglePageMobile, defaultZoom.

Loading & branding

loadingLogo_id, loadingLogoDark_id, loadingLogoMaxWidth, ga4MeasurementId.

Accessibility (a11y_*)

enabled, skipLinks, keyboardShortcuts, screenReaderAnnouncements, focusIndicators, reducedMotion, highContrastMode, keyboardShortcutsHelp.

TTS (tts_*)

provider, speed, browser_lang, autoflip. Generated audio sets live in _tncfb3d_tts_manifest (a separate JSON blob).

Content protection (protection_*)

enabled, watermark_* (enabled, type, text, opacity, fontSize, color, rotation, repeat, position, image_id, imageWidth, includeInDownload, includeInPrint), disableRightClick, disableKeyboardShortcuts, disableImageDrag, disableSelection, disableDownload, devTools_* (enabled, action, message), print_*, screenshot_*, hideSourcePaths.

Toolbar (26 toggles)

toolbar_{item} where {item} is one of:

share, download, print, search, tilt, rotate, zoom, readingMode,
readAloud, fullscreen, themeToggle, moreMenu, pageIndicator, logo,
autoPlay, sound, singlePage, bookmarks, notes, thumbnails, viewModes,
formViewer, flipbookStyles, rtl, navigation, firstLast

WooCommerce / gating

woo_product_id (CSV of product IDs), preview_pages, gating_message, purchase_button_text, purchase_url.

Advanced

page_videos (array), hotspots (array), toc_custom (array of {title, page}).

SEO

seo_title, seo_description, seo_robots, seo_canonical, seo_og_image_id.

Override pattern

Most fields support per-flipbook override. To set both:

update_post_meta( $post_id, '_tncfb3d_flipDuration',          1500 );
update_post_meta( $post_id, '_tncfb3d_flipDuration_override', 1 );

Without _override = 1, the config builder ignores the per-flipbook value and uses the global default. Use TNC_Flipbook_3D_Meta_Schema::get_overridable() to get the list of overridable keys programmatically.

Modifying the schema

add_filter( 'tncfb3d_meta_schema', function( $schema ) {
    $schema['my_field'] = [
        'default'     => '',
        'type'        => 'string',
        'overridable' => false,
        'sanitize'    => 'sanitize_text_field',
    ];
    return $schema;
} );

Once added, the field is auto-saved on the metabox save and read by the config builder. To surface it in the admin UI, add a field via tncfb3d_metabox_tab_content_{key}.

Global settings counterpart

The tnc_flipbook_3d_settings option mirrors the overridable subset of the schema, plus integration credentials. Read with:

$options       = get_option( TNC_FLIPBOOK_3D_OPTION, [] );
$flip_duration = $options['flipDuration'] ?? 1200;
Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.

Still need help? Contact Us Contact Us