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.

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