get_plugin_data( 'url' ); $version = $constants->get_plugin_data( 'version' ); wp_register_script( 'pb-act-js-cookie', $base_url . '/assets/dist/js.cookie.min.js', array(), '3.0.5', true ); wp_register_script( 'pb-act-front-end', $base_url . '/assets/js/front-end.js', array( 'pb-act-js-cookie' ), $version, true ); $config = array( 'cookiePrefix' => Constants::COOKIE_PREFIX, 'cookieExpiry' => Constants::COOKIE_EXPIRY_DAYS, 'fieldPrefix' => Constants::FIELD_CSS_PREFIX, 'attribution' => 'last' === get_option( Constants::ATTRIBUTION_OPTION, 'first' ) ? 'last' : 'first', ); $config = apply_filters( 'pb_act_js_config', $config ); $config_json = wp_json_encode( is_array( $config ) ? $config : array() ); if ( false !== $config_json ) { wp_add_inline_script( 'pb-act-front-end', 'window.' . Constants::JS_CONFIG_GLOBAL . ' = Object.assign( {}, window.' . Constants::JS_CONFIG_GLOBAL . ' || {}, ' . $config_json . ' );', 'before' ); } wp_enqueue_script( 'pb-act-front-end' ); // Keep injected Gravity Forms fields out of the layout without hiding the input from JS. $inline_css = '.gform_wrapper .gfield[class*="' . Constants::FIELD_CSS_PREFIX . '"]{display:none!important;}'; wp_register_style( 'pb-act-front-end', false, array(), $version ); wp_enqueue_style( 'pb-act-front-end' ); wp_add_inline_style( 'pb-act-front-end', $inline_css ); } /** * Hides injected Gravity Forms fields in the block editor preview. */ public function hide_fields_in_editor(): void { if ( ! is_admin() ) { return; } $inline_css = '.gform_wrapper .gfield[class*="' . Constants::FIELD_CSS_PREFIX . '"]{display:none!important;}'; wp_add_inline_style( 'wp-block-library', $inline_css ); } }