dont add ajax script multiple times
This commit is contained in:
@@ -1,6 +1,10 @@
|
||||
<?php
|
||||
|
||||
function wp_model_plugin_content() {
|
||||
global $first_script;
|
||||
console_log("in menu : first_script:");
|
||||
console_log($first_script);
|
||||
|
||||
add_files_to_front( array(
|
||||
"menu/menu.js",
|
||||
));
|
||||
|
||||
@@ -5,12 +5,21 @@
|
||||
/*
|
||||
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
function that add the ajax script to front
|
||||
no need to check if already included, because $handle is uniq
|
||||
so it will not be recincluded, the first enqueued version will be kept
|
||||
*/
|
||||
function add_ajax_post() {
|
||||
global $first_script;
|
||||
global $ajax_file;
|
||||
|
||||
$file = init_file($ajax_file);
|
||||
|
||||
// check if ajax script was already enqueued
|
||||
global $wp_scripts;
|
||||
$already_enqueued = array_search($file->handle, $wp_scripts->queue);
|
||||
if ($already_enqueued !== false)
|
||||
return ;
|
||||
|
||||
$first_script = $file->handle;
|
||||
wp_enqueue_script( $file->handle, $file->url, $previous_js_basename, $file->version, true);
|
||||
$ajax_url = admin_url( 'admin-ajax.php' );
|
||||
@@ -25,6 +34,7 @@ function add_ajax_post() {
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
@param string : name of the file, with its path from its extension directory
|
||||
@@ -121,12 +131,10 @@ function add_var_to_front($vars, $handle = null) {
|
||||
extract($vars);
|
||||
foreach ($vars as $key => $var)
|
||||
{
|
||||
$js_var = 'const ' . $key . ' = ';
|
||||
$js_var .= json_encode($var);
|
||||
$js_var .= ';';
|
||||
$js_var = 'let '.$key.' = '.json_encode($var).';';
|
||||
wp_add_inline_script($handle, $js_var, 'before');
|
||||
}
|
||||
//
|
||||
|
||||
// the other way with localize has multiple incidences :
|
||||
// - it creates an object from wich you can access the variables
|
||||
// - so if you call it again wiht the same name, it will overwrite the previous
|
||||
|
||||
Reference in New Issue
Block a user