I try to execute a js code in my file dashboard.js but it just don’t.
wp-content/
└── plugins/
└── desha-moulin/
├── desha-moulin.php
├── dashboard/
│ ├── dashboard.php
│ ├── functions.php
│ └── dashboard.js
├── eleve/
│ ├── eleve-details.php
│ ├── eleve-list.php
│ ├── functions.php
│ └── eleve.js
├── cours/
│ ├── cours.php
│ ├── functions.php
│ └── cours.js
├── assets/
│ ├── css/
│ │ ├── desha-moulin-styles.css
│ ├── js/
│ │ ├── admin-script.js
│ │ ├── desha-moulin-ajax.js
│ └── images/
│ └── ...
├── includes/
│ ├── admin-menu.php
│ ├── ajax-functions.php
│ ├── functions.php
│ └── roles.php
| │ ├── js/
│ | │ ├── admin-script.js
│ | │ ├── desha-moulin-ajax.js
└── languages/
├── desha-moulin-en_US.po
└── desha-moulin-fr_FR.po
If I put the code in another file is well executed, but I want it to be in dashboard.js file. I put even a simply consol.log at the begining of my js file but it just don’t work. I put some error log to see but the result is the script is enqueued and the file is in the right place :
Current hook: toplevel_page_desha-moulin-dashboard
dashboard.js is enqueued: http://localhost:8080/wordpress/wp-content/plugins/desha-moulin/dashboard/dashboard.js
This is my main file :
include_once plugin_dir_path(__FILE__) . 'includes/functions.php';
include_once plugin_dir_path(__FILE__) . 'includes/admin-menu.php';
include_once plugin_dir_path(__FILE__) . 'cours/cours.php';
include_once plugin_dir_path(__FILE__) . 'includes/roles.php';
include_once plugin_dir_path(__FILE__) . 'eleve/eleve-details.php';
include_once plugin_dir_path(__FILE__) . 'eleve/eleve-list.php';
include_once plugin_dir_path(__FILE__) . 'eleve/functions.php';
include_once plugin_dir_path(__FILE__) . 'includes/ajax-functions.php';
include_once plugin_dir_path(__FILE__) . 'dashboard/dashboard.php';
// Enqueue scripts and styles
function desha_moulin_enqueue_scripts($hook)
{
wp_enqueue_style('desha-moulin-styles', plugin_dir_url(__FILE__) . 'assets/css/desha-moulin-styles.css');
wp_enqueue_script('jquery');
wp_enqueue_script('desha-moulin-ajax', plugin_dir_url(__FILE__) . 'includes/js/desha-moulin-ajax.js', array('jquery'), null, true);
wp_enqueue_script('desha-moulin-status-toggle', plugin_dir_url(__FILE__) . 'eleve/eleve.js', array('jquery'), null, true);
wp_enqueue_script('desha-search-eleve', plugin_dir_url(__FILE__) . 'eleve/eleve.js', array('jquery'), null, true);
error_log('Current hook: ' . $hook); // Log the current hook
if ($hook === 'toplevel_page_desha-moulin-dashboard') {
$script_path = plugin_dir_path(__FILE__) . 'dashboard/dashboard.js';
if (file_exists($script_path)) {
wp_enqueue_script('dashboard', plugin_dir_url(__FILE__) . 'dashboard/dashboard.js', array('jquery'), null, true);
error_log('dashboard.js is enqueued: ' . plugin_dir_url(__FILE__) . 'dashboard/dashboard.js');
}
wp_localize_script('desha-moulin-ajax', 'deshaMoulinAjax', array(
'ajaxurl' => admin_url('admin-ajax.php'),
'nonce' => wp_create_nonce('desha_moulin_nonce')
));
}
add_action('admin_enqueue_scripts', 'desha_moulin_enqueue_scripts');
If someone have any idea what am I doing wrong, thx !