Ceci est une erreur que je reçois lorsque mon plugin est activé:
Remarque: wp_enqueue_script a été appelé de manière incorrecte. Les scripts et les styles ne doivent pas être enregistrés ou mis en file d'attente avant les hooks wp_enqueue_scripts, admin_enqueue_scripts ou login_enqueue_scripts. S'il vous plaît voir le débogage dans WordPress pour plus d'informations. (Ce message a été ajouté à la version 3.3.) Dans/répertoire/à la ligne 3547
C'est la ligne 3547:
trigger_error( sprintf( __( '%1$s was called <strong>incorrectly</strong>. %2$s %3$s' ), $function, $message, $version ) );
Voici le reste de l'instruction if pour la sortie WP_DEBUG:
if ( WP_DEBUG && apply_filters( 'doing_it_wrong_trigger_error', true ) ) {
if ( function_exists( '__' ) ) {
$version = is_null( $version ) ? '' : sprintf( __( '(This message was added in version %s.)' ), $version );
$message .= ' ' . __( 'Please see <a href="http://codex.wordpress.org/Debugging_in_WordPress">Debugging in WordPress</a> for more information.' );
trigger_error( sprintf( __( '%1$s was called <strong>incorrectly</strong>. %2$s %3$s' ), $function, $message, $version ) );
} else {
$version = is_null( $version ) ? '' : sprintf( '(This message was added in version %s.)', $version );
$message .= ' Please see <a href="http://codex.wordpress.org/Debugging_in_WordPress">Debugging in WordPress</a> for more information.';
trigger_error( sprintf( '%1$s was called <strong>incorrectly</strong>. %2$s %3$s', $function, $message, $version ) );
}
}
C'est la seule instance de script wp_enqueue que j'ai dans mon plugin:
wp_enqueue_script('csv3', plugins_url( '/js/demo.js' , __FILE__ ) , array( 'jquery' ));
C'est à peu près mot à mot de un exemple que j'ai trouvé qui a effectué la tâche dont j'ai besoin
Voici les trois fonctions qui transmettent des variables au fichier demo.js:
function check_db(){
global $table;
global $quanid;
$hf_userid = get_current_user_id();
global $wpdb;
$wpdb->get_results( $wpdb->prepare("SELECT count( 1 ) FROM $table WHERE ItemID = '$quanid' AND user = '$hf_userid'", ARRAY_A));
}
add_action('wp_ajax_check_db', 'check_db');
function update_entry(){
global $quanid;
$price = isset($_POST[$quanid]);
$hf_userid = get_current_user_id();
global $table;
global $wpdb;
$wpdb->update( $wpdb->prepare( '$table',
array(
'ItemID' => '$quanid',
'Price' => $price,
'user' => $hf_userid)));
}
add_action('wp_ajax_update_entry', 'update_entry');
function post_entry(){
global $quanid;
$price = isset($_POST[$quanid]);
$hf_userid = get_current_user_id();
global $wpdb;
$wpdb->insert( $wpdb->prepare(
'$table',
array(
'ItemID' => '$quanid',
'Price' => $price,
'user' => $hf_userid
),
array(
'%d', '%d', '%d'
)
));
die();
return true;
}
add_action('wp_ajax_post_entry', 'post_entry');
Vous ne montrez pas comment vous décrochez votre appel wp_enqueue_script()
.
Mais le message d'erreur que vous obtenez est assez clair, utilisez l'un des points suivants:
wp_enqueue_scripts
admin_enqueue_scripts
login_enqueue_scripts
selon le cas d'utilisation - voir les notes à la page de codex wp_enqueue_script()
pour plus d'informations .
Par exemple, pour mettre correctement en file d'attente sur le frontend:
function csv_three_script() {
wp_enqueue_script(
'csv3',
plugins_url(
'/js/demo.js',
__FILE__
),
array(
'jquery'
)
);
}
add_action( 'wp_enqueue_scripts', 'csv_three_script' );