Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93
/home/sportsfe.../httpdocs/clone/wp-conte.../plugins/popup-ma.../trunk/classes/Site
File: Assets.php
<?php
[0] Fix | Delete
/**
[1] Fix | Delete
* Site Assets
[2] Fix | Delete
*
[3] Fix | Delete
* @package PUM
[4] Fix | Delete
* @copyright Copyright (c) 2023, Code Atlantic LLC
[5] Fix | Delete
*/
[6] Fix | Delete
[7] Fix | Delete
class PUM_Site_Assets {
[8] Fix | Delete
[9] Fix | Delete
/**
[10] Fix | Delete
* @var
[11] Fix | Delete
*/
[12] Fix | Delete
public static $cache_url;
[13] Fix | Delete
[14] Fix | Delete
/**
[15] Fix | Delete
* @var
[16] Fix | Delete
*/
[17] Fix | Delete
public static $suffix;
[18] Fix | Delete
[19] Fix | Delete
/**
[20] Fix | Delete
* @var
[21] Fix | Delete
*/
[22] Fix | Delete
public static $js_url;
[23] Fix | Delete
[24] Fix | Delete
/**
[25] Fix | Delete
* @var
[26] Fix | Delete
*/
[27] Fix | Delete
public static $css_url;
[28] Fix | Delete
[29] Fix | Delete
/**
[30] Fix | Delete
* @var array
[31] Fix | Delete
*/
[32] Fix | Delete
public static $enqueued_scripts = [];
[33] Fix | Delete
[34] Fix | Delete
/**
[35] Fix | Delete
* @var array
[36] Fix | Delete
*/
[37] Fix | Delete
public static $enqueued_styles = [];
[38] Fix | Delete
[39] Fix | Delete
/**
[40] Fix | Delete
* @var bool
[41] Fix | Delete
*/
[42] Fix | Delete
public static $scripts_registered = false;
[43] Fix | Delete
[44] Fix | Delete
/**
[45] Fix | Delete
* @var bool
[46] Fix | Delete
*/
[47] Fix | Delete
public static $styles_registered = false;
[48] Fix | Delete
[49] Fix | Delete
/**
[50] Fix | Delete
* @var bool Use minified libraries if SCRIPT_DEBUG is turned off.
[51] Fix | Delete
*/
[52] Fix | Delete
public static $debug;
[53] Fix | Delete
[54] Fix | Delete
/**
[55] Fix | Delete
* Initialize
[56] Fix | Delete
*/
[57] Fix | Delete
public static function init() {
[58] Fix | Delete
self::$cache_url = PUM_Helpers::get_cache_dir_url();
[59] Fix | Delete
self::$debug = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG;
[60] Fix | Delete
self::$suffix = self::$debug ? '' : '.min';
[61] Fix | Delete
self::$js_url = Popup_Maker::$URL . 'assets/js/';
[62] Fix | Delete
self::$css_url = Popup_Maker::$URL . 'assets/css/';
[63] Fix | Delete
[64] Fix | Delete
// Register assets early.
[65] Fix | Delete
add_action( 'wp_enqueue_scripts', [ __CLASS__, 'register_styles' ], 9 );
[66] Fix | Delete
add_action( 'wp_enqueue_scripts', [ __CLASS__, 'register_scripts' ], 9 );
[67] Fix | Delete
[68] Fix | Delete
// Localize after popups rendered in PUM_Site_Popups.
[69] Fix | Delete
add_action( 'wp_footer', [ __CLASS__, 'late_localize_scripts' ], 19 );
[70] Fix | Delete
[71] Fix | Delete
// Checks preloaded popups in the head for which assets to enqueue.
[72] Fix | Delete
add_action( 'pum_preload_popup', [ __CLASS__, 'enqueue_popup_assets' ] );
[73] Fix | Delete
add_filter( 'wp_enqueue_scripts', [ __CLASS__, 'enqueue_page_assets' ] );
[74] Fix | Delete
[75] Fix | Delete
add_action( 'wp_enqueue_scripts', [ __CLASS__, 'fix_broken_extension_scripts' ], 100 );
[76] Fix | Delete
[77] Fix | Delete
// Allow forcing assets to load.
[78] Fix | Delete
add_action( 'wp_head', [ __CLASS__, 'check_force_script_loading' ] );
[79] Fix | Delete
}
[80] Fix | Delete
[81] Fix | Delete
public static function fix_broken_extension_scripts() {
[82] Fix | Delete
if ( wp_script_is( 'pum_aweber_integration_js' ) && class_exists( 'PUM_Aweber_Integration' ) && defined( 'PUM_AWEBER_INTEGRATION_VER' ) && version_compare( PUM_AWEBER_INTEGRATION_VER, '1.1.0', '<' ) ) {
[83] Fix | Delete
wp_dequeue_script( 'pum_aweber_integration_js' );
[84] Fix | Delete
wp_dequeue_style( 'pum_aweber_integration_css' );
[85] Fix | Delete
wp_dequeue_script( 'pum_newsletter_script' );
[86] Fix | Delete
wp_dequeue_style( 'pum-newsletter-styles' );
[87] Fix | Delete
[88] Fix | Delete
wp_enqueue_style( 'pum-newsletter-styles', PUM_AWEBER_INTEGRATION_URL . '/includes/pum-newsletters/newsletter-styles' . self::$suffix . '.css' );
[89] Fix | Delete
wp_enqueue_script(
[90] Fix | Delete
'pum_newsletter_script',
[91] Fix | Delete
PUM_AWEBER_INTEGRATION_URL . '/includes/pum-newsletters/newsletter-scripts' . self::$suffix . '.js',
[92] Fix | Delete
[
[93] Fix | Delete
'jquery',
[94] Fix | Delete
'popup-maker-site',
[95] Fix | Delete
],
[96] Fix | Delete
false,
[97] Fix | Delete
true
[98] Fix | Delete
);
[99] Fix | Delete
}
[100] Fix | Delete
[101] Fix | Delete
$mc_ver_test = in_array(
[102] Fix | Delete
true,
[103] Fix | Delete
[
[104] Fix | Delete
class_exists( 'PUM_MailChimp_Integration' ) && defined( 'PUM_MAILCHIMP_INTEGRATION_VER' ) && PUM_MAILCHIMP_INTEGRATION_VER,
[105] Fix | Delete
class_exists( 'PUM_MCI' ) && version_compare( PUM_MCI::$VER, '1.3.0', '<' ),
[106] Fix | Delete
]
[107] Fix | Delete
);
[108] Fix | Delete
[109] Fix | Delete
if ( $mc_ver_test ) {
[110] Fix | Delete
wp_dequeue_script( 'pum_mailchimp_integration_admin_js' );
[111] Fix | Delete
wp_dequeue_style( 'pum_mailchimp_integration_admin_css' );
[112] Fix | Delete
wp_dequeue_script( 'pum-mci' );
[113] Fix | Delete
wp_dequeue_style( 'pum-mci' );
[114] Fix | Delete
wp_dequeue_script( 'pum-newsletter-site' );
[115] Fix | Delete
wp_dequeue_style( 'pum-newsletter-site' );
[116] Fix | Delete
[117] Fix | Delete
wp_enqueue_style( 'pum-newsletter-site', PUM_NEWSLETTER_URL . 'assets/css/pum-newsletter-site' . self::$suffix . '.css', null, PUM_NEWSLETTER_VERSION );
[118] Fix | Delete
wp_enqueue_script( 'pum-newsletter-site', PUM_NEWSLETTER_URL . 'assets/js/pum-newsletter-site' . self::$suffix . '.js', [ 'jquery' ], PUM_NEWSLETTER_VERSION, true );
[119] Fix | Delete
wp_localize_script(
[120] Fix | Delete
'pum-newsletter-site',
[121] Fix | Delete
'pum_sub_vars',
[122] Fix | Delete
[
[123] Fix | Delete
'ajaxurl' => admin_url( 'admin-ajax.php' ),
[124] Fix | Delete
'message_position' => 'top',
[125] Fix | Delete
]
[126] Fix | Delete
);
[127] Fix | Delete
}
[128] Fix | Delete
}
[129] Fix | Delete
[130] Fix | Delete
/**
[131] Fix | Delete
* Checks the current page content for the newsletter shortcode.
[132] Fix | Delete
*/
[133] Fix | Delete
public static function enqueue_page_assets() {
[134] Fix | Delete
global $post;
[135] Fix | Delete
[136] Fix | Delete
if ( ! empty( $post ) && has_shortcode( $post->post_content, 'pum_sub_form' ) ) {
[137] Fix | Delete
wp_enqueue_script( 'popup-maker-site' );
[138] Fix | Delete
wp_enqueue_style( 'popup-maker-site' );
[139] Fix | Delete
}
[140] Fix | Delete
}
[141] Fix | Delete
[142] Fix | Delete
/**
[143] Fix | Delete
* @param int $popup_id
[144] Fix | Delete
*/
[145] Fix | Delete
public static function enqueue_popup_assets( $popup_id = 0 ) {
[146] Fix | Delete
/**
[147] Fix | Delete
* TODO Replace this with a pum_get_popup function after new Popup model is in place.
[148] Fix | Delete
*
[149] Fix | Delete
* $popup = pum_get_popup( $popup_id );
[150] Fix | Delete
*
[151] Fix | Delete
* if ( ! pum_is_popup( $popup ) ) {
[152] Fix | Delete
* return;
[153] Fix | Delete
* }
[154] Fix | Delete
*/
[155] Fix | Delete
[156] Fix | Delete
$popup = new PUM_Popup( $popup_id );
[157] Fix | Delete
[158] Fix | Delete
wp_enqueue_script( 'popup-maker-site' );
[159] Fix | Delete
wp_enqueue_style( 'popup-maker-site' );
[160] Fix | Delete
[161] Fix | Delete
if ( $popup->mobile_disabled() || $popup->tablet_disabled() ) {
[162] Fix | Delete
wp_enqueue_script( 'mobile-detect' );
[163] Fix | Delete
}
[164] Fix | Delete
[165] Fix | Delete
/**
[166] Fix | Delete
* TODO Implement this in core $popup model & advanced targeting conditions.
[167] Fix | Delete
*
[168] Fix | Delete
* if ( $popup->has_condition( array(
[169] Fix | Delete
* 'device_is_mobile',
[170] Fix | Delete
* 'device_is_phone',
[171] Fix | Delete
* 'device_is_tablet',
[172] Fix | Delete
* 'device_is_brand',
[173] Fix | Delete
* ) ) ) {
[174] Fix | Delete
* self::enqueue_script( 'mobile-detect' );
[175] Fix | Delete
* }
[176] Fix | Delete
*/
[177] Fix | Delete
}
[178] Fix | Delete
[179] Fix | Delete
/**
[180] Fix | Delete
* Register JS.
[181] Fix | Delete
*/
[182] Fix | Delete
public static function register_scripts() {
[183] Fix | Delete
self::$scripts_registered = true;
[184] Fix | Delete
[185] Fix | Delete
wp_register_script( 'mobile-detect', self::$js_url . 'vendor/mobile-detect.min.js', null, '1.3.3', true );
[186] Fix | Delete
wp_register_script( 'iframe-resizer', self::$js_url . 'vendor/iframeResizer.min.js', [ 'jquery' ] );
[187] Fix | Delete
[188] Fix | Delete
if ( PUM_AssetCache::enabled() && false !== self::$cache_url ) {
[189] Fix | Delete
$cached = get_option( 'pum-has-cached-js' );
[190] Fix | Delete
[191] Fix | Delete
if ( ! $cached || self::$debug ) {
[192] Fix | Delete
PUM_AssetCache::cache_js();
[193] Fix | Delete
$cached = get_option( 'pum-has-cached-js' );
[194] Fix | Delete
}
[195] Fix | Delete
[196] Fix | Delete
$cached_script_deps = apply_filters( 'pum_site_cached_scripts_dependencies', [
[197] Fix | Delete
'jquery',
[198] Fix | Delete
'jquery-ui-core',
[199] Fix | Delete
'jquery-ui-position',
[200] Fix | Delete
] );
[201] Fix | Delete
[202] Fix | Delete
wp_register_script(
[203] Fix | Delete
'popup-maker-site',
[204] Fix | Delete
self::$cache_url . '/' . PUM_AssetCache::generate_cache_filename( 'pum-site-scripts' ) . '.js?defer&generated=' . $cached,
[205] Fix | Delete
$cached_script_deps,
[206] Fix | Delete
Popup_Maker::$VER,
[207] Fix | Delete
true
[208] Fix | Delete
);
[209] Fix | Delete
[210] Fix | Delete
do_action( 'pum_registered_cached_scripts' );
[211] Fix | Delete
} else {
[212] Fix | Delete
wp_register_script(
[213] Fix | Delete
'popup-maker-site',
[214] Fix | Delete
self::$js_url . 'site' . self::$suffix . '.js?defer',
[215] Fix | Delete
[
[216] Fix | Delete
'jquery',
[217] Fix | Delete
'jquery-ui-core',
[218] Fix | Delete
'jquery-ui-position',
[219] Fix | Delete
],
[220] Fix | Delete
Popup_Maker::$VER,
[221] Fix | Delete
true
[222] Fix | Delete
);
[223] Fix | Delete
}
[224] Fix | Delete
[225] Fix | Delete
do_action( 'pum_registered_scripts' );
[226] Fix | Delete
[227] Fix | Delete
if ( popmake_get_option( 'enable_easy_modal_compatibility_mode', false ) ) {
[228] Fix | Delete
wp_register_script( 'popup-maker-easy-modal-importer-site', self::$js_url . 'popup-maker-easy-modal-importer-site' . self::$suffix . '?defer', [ 'popup-maker-site' ], POPMAKE_VERSION, true );
[229] Fix | Delete
}
[230] Fix | Delete
[231] Fix | Delete
self::localize_scripts();
[232] Fix | Delete
}
[233] Fix | Delete
[234] Fix | Delete
/**
[235] Fix | Delete
* Localize scripts if enqueued.
[236] Fix | Delete
*/
[237] Fix | Delete
public static function localize_scripts() {
[238] Fix | Delete
$site_home_path = parse_url( home_url() );
[239] Fix | Delete
$site_home_path = isset( $site_home_path['path'] ) ? $site_home_path['path'] : '/';
[240] Fix | Delete
[241] Fix | Delete
wp_localize_script(
[242] Fix | Delete
'popup-maker-site',
[243] Fix | Delete
'pum_vars',
[244] Fix | Delete
apply_filters(
[245] Fix | Delete
'pum_vars',
[246] Fix | Delete
[
[247] Fix | Delete
'version' => Popup_Maker::$VER,
[248] Fix | Delete
'pm_dir_url' => Popup_Maker::$URL,
[249] Fix | Delete
'ajaxurl' => admin_url( 'admin-ajax.php' ),
[250] Fix | Delete
'restapi' => function_exists( 'rest_url' ) ? esc_url_raw( rest_url( 'pum/v1' ) ) : false,
[251] Fix | Delete
'rest_nonce' => is_user_logged_in() ? wp_create_nonce( 'wp_rest' ) : null,
[252] Fix | Delete
'default_theme' => (string) pum_get_default_theme_id(),
[253] Fix | Delete
'debug_mode' => Popup_Maker::debug_mode(),
[254] Fix | Delete
'disable_tracking' => popmake_get_option( 'disable_popup_open_tracking' ),
[255] Fix | Delete
'home_url' => trailingslashit( $site_home_path ),
[256] Fix | Delete
'message_position' => 'top',
[257] Fix | Delete
'core_sub_forms_enabled' => ! PUM_Newsletters::$disabled,
[258] Fix | Delete
'popups' => [],
[259] Fix | Delete
'cookie_domain' => apply_filters( 'pum_cookie_domain', '' ),
[260] Fix | Delete
]
[261] Fix | Delete
)
[262] Fix | Delete
);
[263] Fix | Delete
[264] Fix | Delete
if ( Popup_Maker::debug_mode() || isset( $_GET['pum_debug'] ) ) {
[265] Fix | Delete
wp_localize_script(
[266] Fix | Delete
'popup-maker-site',
[267] Fix | Delete
'pum_debug_vars',
[268] Fix | Delete
apply_filters(
[269] Fix | Delete
'pum_debug_vars',
[270] Fix | Delete
[
[271] Fix | Delete
'debug_mode_enabled' => __( 'Popup Maker', 'popup-maker' ) . ': ' . __( 'Debug Mode Enabled', 'popup-maker' ),
[272] Fix | Delete
'debug_started_at' => __( 'Debug started at:', 'popup-maker' ),
[273] Fix | Delete
'debug_more_info' => sprintf( __( 'For more information on how to use this information visit %s', 'popup-maker' ), 'https://docs.wppopupmaker.com/?utm_medium=js-debug-info&utm_campaign=contextual-help&utm_source=browser-console&utm_content=more-info' ),
[274] Fix | Delete
'global_info' => __( 'Global Information', 'popup-maker' ),
[275] Fix | Delete
'localized_vars' => __( 'Localized variables', 'popup-maker' ),
[276] Fix | Delete
'popups_initializing' => __( 'Popups Initializing', 'popup-maker' ),
[277] Fix | Delete
'popups_initialized' => __( 'Popups Initialized', 'popup-maker' ),
[278] Fix | Delete
'single_popup_label' => __( 'Popup: #', 'popup-maker' ),
[279] Fix | Delete
'theme_id' => __( 'Theme ID: ', 'popup-maker' ),
[280] Fix | Delete
'label_method_call' => __( 'Method Call:', 'popup-maker' ),
[281] Fix | Delete
'label_method_args' => __( 'Method Arguments:', 'popup-maker' ),
[282] Fix | Delete
'label_popup_settings' => __( 'Settings', 'popup-maker' ),
[283] Fix | Delete
'label_triggers' => __( 'Triggers', 'popup-maker' ),
[284] Fix | Delete
'label_cookies' => __( 'Cookies', 'popup-maker' ),
[285] Fix | Delete
'label_delay' => __( 'Delay:', 'popup-maker' ),
[286] Fix | Delete
'label_conditions' => __( 'Conditions', 'popup-maker' ),
[287] Fix | Delete
'label_cookie' => __( 'Cookie:', 'popup-maker' ),
[288] Fix | Delete
'label_settings' => __( 'Settings:', 'popup-maker' ),
[289] Fix | Delete
'label_selector' => __( 'Selector:', 'popup-maker' ),
[290] Fix | Delete
'label_mobile_disabled' => __( 'Mobile Disabled:', 'popup-maker' ),
[291] Fix | Delete
'label_tablet_disabled' => __( 'Tablet Disabled:', 'popup-maker' ),
[292] Fix | Delete
'label_event' => __( 'Event: %s', 'popup-maker' ),
[293] Fix | Delete
'triggers' => PUM_Triggers::instance()->dropdown_list(),
[294] Fix | Delete
'cookies' => PUM_Cookies::instance()->dropdown_list(),
[295] Fix | Delete
]
[296] Fix | Delete
)
[297] Fix | Delete
);
[298] Fix | Delete
}
[299] Fix | Delete
[300] Fix | Delete
/* Here for backward compatibility. */
[301] Fix | Delete
wp_localize_script(
[302] Fix | Delete
'popup-maker-site',
[303] Fix | Delete
'pum_sub_vars',
[304] Fix | Delete
[
[305] Fix | Delete
'ajaxurl' => admin_url( 'admin-ajax.php' ),
[306] Fix | Delete
'message_position' => 'top',
[307] Fix | Delete
]
[308] Fix | Delete
);
[309] Fix | Delete
}
[310] Fix | Delete
[311] Fix | Delete
/**
[312] Fix | Delete
* Localize late script vars if enqueued.
[313] Fix | Delete
*/
[314] Fix | Delete
public static function late_localize_scripts() {
[315] Fix | Delete
// If scripts not rendered, localize these vars. Otherwise echo them manually.
[316] Fix | Delete
if ( ! wp_script_is( 'popup-maker-site', 'done' ) ) {
[317] Fix | Delete
wp_localize_script( 'popup-maker-site', 'pum_popups', self::get_popup_settings() );
[318] Fix | Delete
} else {
[319] Fix | Delete
echo "<script type='text/javascript'>";
[320] Fix | Delete
echo 'window.pum_popups = ' . PUM_Utils_Array::safe_json_encode( self::get_popup_settings() ) . ';';
[321] Fix | Delete
// Backward compatibility fill.
[322] Fix | Delete
echo 'window.pum_vars = window.pum_vars || {}; window.pum_vars.popups = window.pum_popups;';
[323] Fix | Delete
echo '</script>';
[324] Fix | Delete
}
[325] Fix | Delete
}
[326] Fix | Delete
[327] Fix | Delete
/**
[328] Fix | Delete
* Gets public settings for each popup for a global JS variable.
[329] Fix | Delete
*
[330] Fix | Delete
* @return array
[331] Fix | Delete
*/
[332] Fix | Delete
public static function get_popup_settings() {
[333] Fix | Delete
$loaded = PUM_Site_Popups::get_loaded_popups();
[334] Fix | Delete
[335] Fix | Delete
$settings = [];
[336] Fix | Delete
[337] Fix | Delete
$current_popup = pum()->current_popup;
[338] Fix | Delete
[339] Fix | Delete
if ( $loaded->have_posts() ) {
[340] Fix | Delete
while ( $loaded->have_posts() ) :
[341] Fix | Delete
$loaded->next_post();
[342] Fix | Delete
pum()->current_popup = $loaded->post;
[343] Fix | Delete
$popup = pum_get_popup( $loaded->post->ID );
[344] Fix | Delete
// Set the key to the CSS id of this popup for easy lookup.
[345] Fix | Delete
$settings[ 'pum-' . $popup->ID ] = $popup->get_public_settings();
[346] Fix | Delete
endwhile;
[347] Fix | Delete
[348] Fix | Delete
pum()->current_popup = $current_popup;
[349] Fix | Delete
}
[350] Fix | Delete
[351] Fix | Delete
return $settings;
[352] Fix | Delete
}
[353] Fix | Delete
[354] Fix | Delete
/**
[355] Fix | Delete
* Register CSS.
[356] Fix | Delete
*/
[357] Fix | Delete
public static function register_styles() {
[358] Fix | Delete
self::$styles_registered = true;
[359] Fix | Delete
[360] Fix | Delete
if ( PUM_AssetCache::enabled() && false !== self::$cache_url ) {
[361] Fix | Delete
$cached = get_option( 'pum-has-cached-css' );
[362] Fix | Delete
[363] Fix | Delete
if ( ! $cached || self::$debug ) {
[364] Fix | Delete
PUM_AssetCache::cache_css();
[365] Fix | Delete
$cached = get_option( 'pum-has-cached-css' );
[366] Fix | Delete
}
[367] Fix | Delete
[368] Fix | Delete
$cached_style_deps = apply_filters( 'pum_site_cached_styles_dependencies', [] );
[369] Fix | Delete
[370] Fix | Delete
wp_register_style( 'popup-maker-site', self::$cache_url . '/' . PUM_AssetCache::generate_cache_filename( 'pum-site-styles' ) . '.css?generated=' . $cached, $cached_style_deps, Popup_Maker::$VER );
[371] Fix | Delete
[372] Fix | Delete
do_action( 'pum_registered_cached_styles' );
[373] Fix | Delete
} else {
[374] Fix | Delete
wp_register_style( 'popup-maker-site', self::$css_url . 'pum-site' . ( is_rtl() ? '-rtl' : '' ) . self::$suffix . '.css', [], Popup_Maker::$VER );
[375] Fix | Delete
self::inline_styles();
[376] Fix | Delete
}
[377] Fix | Delete
[378] Fix | Delete
do_action( 'pum_registered_styles' );
[379] Fix | Delete
}
[380] Fix | Delete
[381] Fix | Delete
/**
[382] Fix | Delete
* Render popup inline styles.
[383] Fix | Delete
*/
[384] Fix | Delete
public static function inline_styles() {
[385] Fix | Delete
if ( ( current_action() === 'wp_head' && popmake_get_option( 'disable_popup_theme_styles', false ) ) || ( current_action() === 'admin_head' && ! popmake_is_admin_popup_page() ) ) {
[386] Fix | Delete
return;
[387] Fix | Delete
}
[388] Fix | Delete
[389] Fix | Delete
wp_add_inline_style( 'popup-maker-site', PUM_AssetCache::inline_css() );
[390] Fix | Delete
}
[391] Fix | Delete
[392] Fix | Delete
/**
[393] Fix | Delete
* Defers loading of scripts with ?defer parameter in url.
[394] Fix | Delete
*
[395] Fix | Delete
* @param string $url URL being cleaned
[396] Fix | Delete
*
[397] Fix | Delete
* @return string $url
[398] Fix | Delete
*/
[399] Fix | Delete
public static function defer_js_url( $url ) {
[400] Fix | Delete
if ( false === strpos( $url, '.js?defer' ) ) {
[401] Fix | Delete
// not our file
[402] Fix | Delete
return $url;
[403] Fix | Delete
}
[404] Fix | Delete
[405] Fix | Delete
return "$url' defer='defer";
[406] Fix | Delete
}
[407] Fix | Delete
[408] Fix | Delete
/**
[409] Fix | Delete
*
[410] Fix | Delete
*/
[411] Fix | Delete
public static function check_force_script_loading() {
[412] Fix | Delete
global $wp_query;
[413] Fix | Delete
if ( ! empty( $wp_query->post ) && has_shortcode( $wp_query->post->post_content, 'popup' ) || ( defined( 'POPMAKE_FORCE_SCRIPTS' ) && POPMAKE_FORCE_SCRIPTS ) ) {
[414] Fix | Delete
wp_enqueue_script( 'popup-maker-site' );
[415] Fix | Delete
wp_enqueue_style( 'popup-maker-site' );
[416] Fix | Delete
}
[417] Fix | Delete
}
[418] Fix | Delete
}
[419] Fix | Delete
[420] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function