WC_Interactivity_Initial_State{}
Manages the initial state of the Interactivity API store in the server and its serialization so it can be restored in the browser upon hydration.
It's a private class, exposed by other functions, like wc_initial_state.
Внутренняя функция — эта функция рассчитана на использование самим ядром. Не рекомендуется использовать эту функцию в своем коде.
Хуков нет.
Использование
$WC_Interactivity_Initial_State = new WC_Interactivity_Initial_State(); // use class methods
Методы
- public static get_state( $namespace )
- public static merge_state( $namespace, $data )
- public static render()
- public static reset()
Код WC_Interactivity_Initial_State{} WC Interactivity Initial State{} WC 9.5.1
class WC_Interactivity_Initial_State { /** * Map of initial state by namespace. * * @var array */ private static $initial_state = array(); /** * Get state from a given namespace. * * @param string $namespace Namespace. * * @return array The requested state. */ public static function get_state( $namespace ) { return self::$initial_state[ $namespace ] ?? array(); } /** * Merge data into the state with the given namespace. * * @param string $namespace Namespace. * @param array $data State to merge. * * @return void */ public static function merge_state( $namespace, $data ) { self::$initial_state[ $namespace ] = array_replace_recursive( self::get_state( $namespace ), $data ); } /** * Reset the initial state. */ public static function reset() { self::$initial_state = array(); } /** * Render the initial state. */ public static function render() { if ( empty( self::$initial_state ) ) { return; } echo sprintf( '<script id="wc-interactivity-initial-state" type="application/json">%s</script>', wp_json_encode( self::$initial_state, JSON_HEX_TAG | JSON_HEX_AMP ) ); } }