esc_js( __( 'Sélectionner une image de catégorie', 'category-grid-widget' ) ), // 'button' => esc_js( __( 'Sélectionner', 'category-grid-widget' ) ), // ] // ); // } // add_action( 'admin_enqueue_scripts', 'ccgw_enqueue_media_uploader' ); /** * Charger les scripts Media Uploader et localiser les données JS * sur les écrans d'ajout ET d'édition de catégorie. */ function ccgw_enqueue_media_uploader( $hook_suffix ) { // On ne charge que sur edit-tags.php (création) OU term.php (édition) if ( ! in_array( $hook_suffix, [ 'edit-tags.php', 'term.php' ], true ) ) { return; } // Et seulement pour la taxonomie 'category' if ( empty( $_GET['taxonomy'] ) || 'category' !== $_GET['taxonomy'] ) { return; } // Charge la librairie media de WP wp_enqueue_media(); // Ton script JS wp_enqueue_script( 'ccgw-category-image', plugin_dir_url( __FILE__ ) . 'admin/js/category-image.js', [ 'jquery' ], '1.0', true ); // Variable JS wp_localize_script( 'ccgw-category-image', 'ccgw_data', [ 'title' => esc_js( __( 'Sélectionner une image de catégorie', 'category-grid-widget' ) ), 'button' => esc_js( __( 'Sélectionner', 'category-grid-widget' ) ), ] ); } add_action( 'admin_enqueue_scripts', 'ccgw_enqueue_media_uploader' ); /** * Affiche le champ d'upload dans le formulaire de création de catégorie. */ function ccgw_category_image_field( $taxonomy ) { ?>

term_id, 'thumbnail_id', true ); $image_url = $image_id ? wp_get_attachment_thumb_url( $image_id ) : ''; ?>

register( new \Elementor_Category_Grid_Widget() ); } add_action( 'elementor/widgets/register', 'register_category_grid_widget' );