feat: style and filter cat with image

This commit is contained in:
MrRaph_
2025-05-23 10:19:06 +00:00
parent 20f9c31008
commit 7bdf28048c
3 changed files with 104 additions and 36 deletions

View File

@@ -2,7 +2,7 @@
/**
* Plugin Name: Elementor Category Grid Widget
* Description: Custom Elementor widget to display a grid of post categories with images.
* Version: 1.0.0
* Version: 1.1.0
* Author: MrRaph_
* Text Domain: category-grid-widget
* Requires Plugins: elementor
@@ -14,41 +14,6 @@ if ( ! defined( 'ABSPATH' ) ) {
exit; // Sécurité : empêche l'accès direct.
}
/**
* Charger les scripts WordPress Media Uploader pour nos écrans de taxonomie.
*/
// function ccgw_enqueue_media_uploader( $hook_suffix ) {
// // On ne charge que sur l'écran de gestion des catégories
// if ( 'edit-tags.php' !== $hook_suffix
// || ! isset( $_GET['taxonomy'] )
// || 'category' !== $_GET['taxonomy']
// ) {
// return;
// }
// // 1. Charger la librairie media
// wp_enqueue_media();
// // 2. Enqueue de ton script JS pour l'image de catégorie
// wp_enqueue_script(
// 'ccgw-category-image', // handle
// plugin_dir_url( __FILE__ ) . 'admin/js/category-image.js', // chemin
// [ 'jquery' ], // dépendances
// '1.0', // version
// true // in_footer
// );
// // 3. Localiser la variable ccgw_data pour ton JS
// wp_localize_script(
// 'ccgw-category-image', // même handle que ci-dessus
// 'ccgw_data', // nom de lobjet JS
// [
// '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' );
/**
* Charger les scripts Media Uploader et localiser les données JS
* sur les écrans d'ajout ET d'édition de catégorie.
@@ -162,3 +127,19 @@ function register_category_grid_widget( $widgets_manager ) {
$widgets_manager->register( new \Elementor_Category_Grid_Widget() );
}
add_action( 'elementor/widgets/register', 'register_category_grid_widget' );
/**
* Enqueue styles front-end pour le widget.
*/
function ccgw_enqueue_front_styles() {
// Ne charger que si Elementor est actif
if ( defined( 'ELEMENTOR_VERSION' ) ) {
wp_enqueue_style(
'ccgw-category-grid-style',
plugin_dir_url( __FILE__ ) . 'css/style.css',
[],
'1.0.0'
);
}
}
add_action( 'wp_enqueue_scripts', 'ccgw_enqueue_front_styles' );