EVOLUTION-MANAGER
Edit File: class-kirki-modules-postmessage.php
<?php /** * Automatic postMessage scripts calculation for Kirki controls. * * @package Kirki * @category Modules * @author Ari Stathopoulos (@aristath) * @copyright Copyright (c) 2020, David Vongries * @license https://opensource.org/licenses/MIT * @since 3.0.0 */ // Exit if accessed directly. if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Adds styles to the customizer. */ class Kirki_Modules_PostMessage { /** * The object instance. * * @static * @access private * @since 3.0.0 * @var object */ private static $instance; /** * Constructor. * * @access protected * @since 3.0.0 */ protected function __construct() { add_action( 'customize_preview_init', array( $this, 'postmessage' ) ); } /** * Gets an instance of this object. * Prevents duplicate instances which avoid artefacts and improves performance. * * @static * @access public * @since 3.0.0 * @return object */ public static function get_instance() { if ( ! self::$instance ) { self::$instance = new self(); } return self::$instance; } /** * Enqueues the postMessage script * and adds variables to it using the wp_localize_script function. * The rest is handled via JS. */ public function postmessage() { wp_enqueue_script( 'kirki_auto_postmessage', trailingslashit( Kirki::$url ) . 'modules/postmessage/postmessage.js', array( 'jquery', 'customize-preview' ), KIRKI_VERSION, true ); $fields = Kirki::$fields; $data = array(); foreach ( $fields as $field ) { if ( isset( $field['transport'] ) && 'postMessage' === $field['transport'] && isset( $field['js_vars'] ) && ! empty( $field['js_vars'] ) && is_array( $field['js_vars'] ) && isset( $field['settings'] ) ) { $data[] = $field; } } wp_localize_script( 'kirki_auto_postmessage', 'kirkiPostMessageFields', $data ); $extras = apply_filters( 'kirki_postmessage_script', false ); if ( $extras ) { wp_add_inline_script( 'kirki_auto_postmessage', $extras, 'after' ); } } }