Developer Overview and Constants
API reference for theme, addon, and integration developers building on TNC FlipBook 3D.
Quick facts
CPT
flipbook
Meta prefix
_tncfb3d_
Option key
tnc_flipbook_3d_settings
Text domain
tnc-flipbook-3d
REST namespace
tnc-flipbook-3d/v1
Plugin constants
Constant
Value
Description
TNC_FLIPBOOK_3D_VERSION
'1.0.0'
Plugin version
TNC_FLIPBOOK_3D_FILE
__FILE__
Main plugin file
TNC_FLIPBOOK_3D_DIR
path
Plugin directory (trailing slash)
TNC_FLIPBOOK_3D_URL
url
Plugin URL (trailing slash)
TNC_FLIPBOOK_3D_PRO
true
Pro flag
TNC_FLIPBOOK_3D_CPT
'flipbook'
Custom post type slug
TNC_FLIPBOOK_3D_PREFIX
'_tncfb3d_'
Post meta key prefix
TNC_FLIPBOOK_3D_OPTION
'tnc_flipbook_3d_settings'
Global options key
Class-level constants
Class
Constant
Value
TNC_Flipbook_3D_Helpers
TOKEN_TTL
7200 (2h)
TNC_Flipbook_3D_REST_Proxy
NAMESPACE
'tnc-flipbook-3d/v1'
TNC_Flipbook_3D_TTS
RATE_LIMIT
30 req/min
TNC_Flipbook_3D_TTS
DAILY_LIMIT
500 pages/day
TNC_Flipbook_3D_TTS
BATCH_SIZE
5
Public PHP functions
tnc_flipbook_3d_is_pro() : bool
tnc_flipbook_3d_get_cover_url( int $flipbook_id, string $size = 'large' ) : string
tncfb3d_tip( string $key ) : string // admin tooltip lookup
tncfb3d_opt( array $options, string $key, mixed $default = '' ) : mixed
Public PHP classes
All under includes/. Most methods are static.
Class
Role
TNC_Flipbook_3D_Helpers
HMAC tokens, sanitizers, asset URLs, language list
TNC_Flipbook_3D_Meta_Schema
Single source of truth for per-flipbook meta
TNC_Flipbook_3D_Config_Builder
Builds the JS config payload (schema → globals → overrides)
TNC_Flipbook_3D_Frontend
Shortcode/block renderers, embedded viewer
TNC_Flipbook_3D_REST_Proxy
Streams files via HMAC-signed tokens
TNC_Flipbook_3D_License
EDD Software Licensing
TNC_Flipbook_3D_TTS
Cloud TTS REST + cron
TNC_Flipbook_3D_WooCommerce
Product → flipbook gating
TNC_Flipbook_3D_Text_Extract
PDF text extraction (pdfparser + pdftotext)
Selected helpers
TNC_Flipbook_3D_Helpers::generate_token( $flipbook_id, $file_type, $index );
TNC_Flipbook_3D_Helpers::verify_token( $flipbook_id, $file_type, $index, $token, $exp );
TNC_Flipbook_3D_Helpers::proxy_url( $flipbook_id, $file_type, $index );
TNC_Flipbook_3D_Helpers::sanitize_dimension( $value );
TNC_Flipbook_3D_Helpers::sanitize_hex_color( $value );
TNC_Flipbook_3D_Helpers::resolve_initial_chrome( $chrome, $color_mode );
TNC_Flipbook_3D_Helpers::asset_url( $path );
TNC_Flipbook_3D_Helpers::get_languages();
$schema = TNC_Flipbook_3D_Meta_Schema::get();
$value = TNC_Flipbook_3D_Meta_Schema::default_for( 'flipDuration' );
$payload = TNC_Flipbook_3D_Config_Builder::build( $post_id );
// $payload === [ 'config' => [...], 'options' => [...] ]
License helpers
TNC_Flipbook_3D_License::is_valid(); // bool
TNC_Flipbook_3D_License::is_restricted(); // any tier > 0
TNC_Flipbook_3D_License::is_feature_locked();
TNC_Flipbook_3D_License::is_hard_locked();
TNC_Flipbook_3D_License::get_restriction_tier(); // 0..4
See the rest of the developer reference: Actions & Filters, REST & AJAX, Shortcodes & Blocks, JavaScript API & Events, Post Meta Schema, Integration Recipes.