feat: complies with plugin check
This commit is contained in:
@@ -33,7 +33,7 @@ class Elementor_Category_Grid_Widget extends \Elementor\Widget_Base
|
||||
*/
|
||||
public function get_title(): string
|
||||
{
|
||||
return esc_html__('Grille de Catégories', 'category-grid-widget');
|
||||
return esc_html__('Grille de Catégories', 'category-grid-widget-for-elementor');
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -71,14 +71,14 @@ class Elementor_Category_Grid_Widget extends \Elementor\Widget_Base
|
||||
$this->start_controls_section(
|
||||
'section_style_grid',
|
||||
[
|
||||
'label' => esc_html__('Grille', 'category-grid-widget'),
|
||||
'label' => esc_html__('Grille', 'category-grid-widget-for-elementor'),
|
||||
'tab' => Controls_Manager::TAB_STYLE,
|
||||
]
|
||||
);
|
||||
$this->add_responsive_control(
|
||||
'grid_gap',
|
||||
[
|
||||
'label' => esc_html__('Espacement (gap)', 'category-grid-widget'),
|
||||
'label' => esc_html__('Espacement (gap)', 'category-grid-widget-for-elementor'),
|
||||
'type' => Controls_Manager::SLIDER,
|
||||
'size_units' => ['px', 'em', '%'],
|
||||
'range' => [
|
||||
@@ -96,14 +96,14 @@ class Elementor_Category_Grid_Widget extends \Elementor\Widget_Base
|
||||
$this->start_controls_section(
|
||||
'section_style_card',
|
||||
[
|
||||
'label' => esc_html__('Carte', 'category-grid-widget'),
|
||||
'label' => esc_html__('Carte', 'category-grid-widget-for-elementor'),
|
||||
'tab' => Controls_Manager::TAB_STYLE,
|
||||
]
|
||||
);
|
||||
$this->add_control(
|
||||
'card_bg_color',
|
||||
[
|
||||
'label' => esc_html__('Fond de la carte', 'category-grid-widget'),
|
||||
'label' => esc_html__('Fond de la carte', 'category-grid-widget-for-elementor'),
|
||||
'type' => Controls_Manager::COLOR,
|
||||
'default' => '',
|
||||
'selectors' => [
|
||||
@@ -115,14 +115,14 @@ class Elementor_Category_Grid_Widget extends \Elementor\Widget_Base
|
||||
Group_Control_Typography::get_type(),
|
||||
[
|
||||
'name' => 'card_title_typography',
|
||||
'label' => esc_html__('Typographie du titre', 'category-grid-widget'),
|
||||
'label' => esc_html__('Typographie du titre', 'category-grid-widget-for-elementor'),
|
||||
'selector' => '{{WRAPPER}} .category-card-name',
|
||||
]
|
||||
);
|
||||
$this->add_control(
|
||||
'card_border_radius',
|
||||
[
|
||||
'label' => esc_html__('Border radius', 'category-grid-widget'),
|
||||
'label' => esc_html__('Border radius', 'category-grid-widget-for-elementor'),
|
||||
'type' => Controls_Manager::DIMENSIONS,
|
||||
'size_units' => ['px', '%'],
|
||||
'selectors' => [
|
||||
@@ -134,7 +134,7 @@ class Elementor_Category_Grid_Widget extends \Elementor\Widget_Base
|
||||
\Elementor\Group_Control_Box_Shadow::get_type(),
|
||||
[
|
||||
'name' => 'card_box_shadow',
|
||||
'label' => esc_html__('Ombre de la carte', 'category-grid-widget'),
|
||||
'label' => esc_html__('Ombre de la carte', 'category-grid-widget-for-elementor'),
|
||||
'selector' => '{{WRAPPER}} .category-card',
|
||||
]
|
||||
);
|
||||
@@ -144,7 +144,7 @@ class Elementor_Category_Grid_Widget extends \Elementor\Widget_Base
|
||||
$this->start_controls_section(
|
||||
'section_style_title',
|
||||
[
|
||||
'label' => esc_html__('Titre', 'category-grid-widget'),
|
||||
'label' => esc_html__('Titre', 'category-grid-widget-for-elementor'),
|
||||
'tab' => Controls_Manager::TAB_STYLE,
|
||||
]
|
||||
);
|
||||
@@ -153,10 +153,10 @@ class Elementor_Category_Grid_Widget extends \Elementor\Widget_Base
|
||||
$this->add_control(
|
||||
'disable_title_bg',
|
||||
[
|
||||
'label' => esc_html__('Désactiver le fond du titre', 'category-grid-widget'),
|
||||
'label' => esc_html__('Désactiver le fond du titre', 'category-grid-widget-for-elementor'),
|
||||
'type' => Controls_Manager::SWITCHER,
|
||||
'label_on' => esc_html__('Oui', 'category-grid-widget'),
|
||||
'label_off' => esc_html__('Non', 'category-grid-widget'),
|
||||
'label_on' => esc_html__('Oui', 'category-grid-widget-for-elementor'),
|
||||
'label_off' => esc_html__('Non', 'category-grid-widget-for-elementor'),
|
||||
'return_value' => 'yes',
|
||||
'default' => 'no',
|
||||
'selectors' => [
|
||||
@@ -170,7 +170,7 @@ class Elementor_Category_Grid_Widget extends \Elementor\Widget_Base
|
||||
$this->add_control(
|
||||
'title_text_color',
|
||||
[
|
||||
'label' => esc_html__('Couleur du texte', 'category-grid-widget'),
|
||||
'label' => esc_html__('Couleur du texte', 'category-grid-widget-for-elementor'),
|
||||
'type' => Controls_Manager::COLOR,
|
||||
'default' => '#ffffff',
|
||||
'selectors' => [
|
||||
@@ -183,7 +183,7 @@ class Elementor_Category_Grid_Widget extends \Elementor\Widget_Base
|
||||
$this->add_control(
|
||||
'title_bg_color',
|
||||
[
|
||||
'label' => esc_html__('Fond du titre', 'category-grid-widget'),
|
||||
'label' => esc_html__('Fond du titre', 'category-grid-widget-for-elementor'),
|
||||
'type' => Controls_Manager::COLOR,
|
||||
'default' => 'rgba(0,0,0,0.4)',
|
||||
'selectors' => [
|
||||
@@ -201,7 +201,7 @@ class Elementor_Category_Grid_Widget extends \Elementor\Widget_Base
|
||||
Group_Control_Typography::get_type(),
|
||||
[
|
||||
'name' => 'card_title_typography',
|
||||
'label' => esc_html__('Typographie du titre', 'category-grid-widget'),
|
||||
'label' => esc_html__('Typographie du titre', 'category-grid-widget-for-elementor'),
|
||||
'selector' => '{{WRAPPER}} .category-card-name',
|
||||
]
|
||||
);
|
||||
@@ -212,7 +212,7 @@ class Elementor_Category_Grid_Widget extends \Elementor\Widget_Base
|
||||
$this->start_controls_section(
|
||||
'section_style_hover',
|
||||
[
|
||||
'label' => esc_html__('Hover', 'category-grid-widget'),
|
||||
'label' => esc_html__('Hover', 'category-grid-widget-for-elementor'),
|
||||
'tab' => Controls_Manager::TAB_STYLE,
|
||||
]
|
||||
);
|
||||
@@ -221,7 +221,7 @@ class Elementor_Category_Grid_Widget extends \Elementor\Widget_Base
|
||||
$this->add_control(
|
||||
'hover_overlay_color',
|
||||
[
|
||||
'label' => esc_html__('Couleur de l’overlay', 'category-grid-widget'),
|
||||
'label' => esc_html__('Couleur de l’overlay', 'category-grid-widget-for-elementor'),
|
||||
'type' => Controls_Manager::COLOR,
|
||||
'default' => 'rgba(0,0,0,0.3)',
|
||||
'selectors' => [
|
||||
@@ -235,7 +235,7 @@ class Elementor_Category_Grid_Widget extends \Elementor\Widget_Base
|
||||
$this->add_control(
|
||||
'hover_overlay_opacity',
|
||||
[
|
||||
'label' => esc_html__('Opacité de l’overlay', 'category-grid-widget'),
|
||||
'label' => esc_html__('Opacité de l’overlay', 'category-grid-widget-for-elementor'),
|
||||
'type' => Controls_Manager::SLIDER,
|
||||
'size_units' => ['%'],
|
||||
'range' => [
|
||||
@@ -253,7 +253,7 @@ class Elementor_Category_Grid_Widget extends \Elementor\Widget_Base
|
||||
$this->add_control(
|
||||
'title_hover_color',
|
||||
[
|
||||
'label' => esc_html__('Couleur du titre au hover', 'category-grid-widget'),
|
||||
'label' => esc_html__('Couleur du titre au hover', 'category-grid-widget-for-elementor'),
|
||||
'type' => Controls_Manager::COLOR,
|
||||
'default' => '#ffffff',
|
||||
'selectors' => [
|
||||
@@ -274,7 +274,7 @@ class Elementor_Category_Grid_Widget extends \Elementor\Widget_Base
|
||||
$this->start_controls_section(
|
||||
'section_content',
|
||||
[
|
||||
'label' => esc_html__('Catégories', 'category-grid-widget'),
|
||||
'label' => esc_html__('Catégories', 'category-grid-widget-for-elementor'),
|
||||
'tab' => \Elementor\Controls_Manager::TAB_CONTENT,
|
||||
]
|
||||
);
|
||||
@@ -288,12 +288,12 @@ class Elementor_Category_Grid_Widget extends \Elementor\Widget_Base
|
||||
$this->add_control(
|
||||
'categories',
|
||||
[
|
||||
'label' => esc_html__('Catégories à afficher', 'category-grid-widget'),
|
||||
'label' => esc_html__('Catégories à afficher', 'category-grid-widget-for-elementor'),
|
||||
'type' => \Elementor\Controls_Manager::SELECT2,
|
||||
'multiple' => true,
|
||||
'label_block' => true,
|
||||
'options' => $options,
|
||||
'description' => esc_html__('Sélectionnez les catégories d’articles à afficher.', 'category-grid-widget'),
|
||||
'description' => esc_html__('Sélectionnez les catégories d’articles à afficher.', 'category-grid-widget-for-elementor'),
|
||||
]
|
||||
);
|
||||
|
||||
@@ -301,13 +301,13 @@ class Elementor_Category_Grid_Widget extends \Elementor\Widget_Base
|
||||
$this->add_control(
|
||||
'show_subcategories',
|
||||
[
|
||||
'label' => esc_html__('Afficher les sous-catégories', 'category-grid-widget'),
|
||||
'label' => esc_html__('Afficher les sous-catégories', 'category-grid-widget-for-elementor'),
|
||||
'type' => \Elementor\Controls_Manager::SWITCHER,
|
||||
'label_on' => esc_html__('Oui', 'category-grid-widget'),
|
||||
'label_off' => esc_html__('Non', 'category-grid-widget'),
|
||||
'label_on' => esc_html__('Oui', 'category-grid-widget-for-elementor'),
|
||||
'label_off' => esc_html__('Non', 'category-grid-widget-for-elementor'),
|
||||
'return_value' => 'yes',
|
||||
'default' => 'yes',
|
||||
'description' => esc_html__('Inclure aussi les sous-catégories des catégories sélectionnées.', 'category-grid-widget'),
|
||||
'description' => esc_html__('Inclure aussi les sous-catégories des catégories sélectionnées.', 'category-grid-widget-for-elementor'),
|
||||
]
|
||||
);
|
||||
|
||||
@@ -316,13 +316,13 @@ class Elementor_Category_Grid_Widget extends \Elementor\Widget_Base
|
||||
$this->add_control(
|
||||
'hide_without_image',
|
||||
[
|
||||
'label' => esc_html__('Afficher uniquement catégories avec image', 'category-grid-widget'),
|
||||
'label' => esc_html__('Afficher uniquement catégories avec image', 'category-grid-widget-for-elementor'),
|
||||
'type' => \Elementor\Controls_Manager::SWITCHER,
|
||||
'label_on' => esc_html__('Oui', 'category-grid-widget'),
|
||||
'label_off' => esc_html__('Non', 'category-grid-widget'),
|
||||
'label_on' => esc_html__('Oui', 'category-grid-widget-for-elementor'),
|
||||
'label_off' => esc_html__('Non', 'category-grid-widget-for-elementor'),
|
||||
'return_value' => 'yes',
|
||||
'default' => 'no',
|
||||
'description' => esc_html__('Si activé, les catégories sans image seront masquées.', 'category-grid-widget'),
|
||||
'description' => esc_html__('Si activé, les catégories sans image seront masquées.', 'category-grid-widget-for-elementor'),
|
||||
]
|
||||
);
|
||||
|
||||
@@ -330,12 +330,12 @@ class Elementor_Category_Grid_Widget extends \Elementor\Widget_Base
|
||||
$this->add_control(
|
||||
'order_by',
|
||||
[
|
||||
'label' => esc_html__('Trier par', 'category-grid-widget'),
|
||||
'label' => esc_html__('Trier par', 'category-grid-widget-for-elementor'),
|
||||
'type' => \Elementor\Controls_Manager::SELECT,
|
||||
'options' => [
|
||||
'name' => esc_html__('Nom (alphabétique)', 'category-grid-widget'),
|
||||
'count' => esc_html__('Nombre d’articles', 'category-grid-widget'),
|
||||
'id' => esc_html__('ID (date de création)', 'category-grid-widget'),
|
||||
'name' => esc_html__('Nom (alphabétique)', 'category-grid-widget-for-elementor'),
|
||||
'count' => esc_html__('Nombre d’articles', 'category-grid-widget-for-elementor'),
|
||||
'id' => esc_html__('ID (date de création)', 'category-grid-widget-for-elementor'),
|
||||
],
|
||||
'default' => 'name',
|
||||
]
|
||||
@@ -345,11 +345,11 @@ class Elementor_Category_Grid_Widget extends \Elementor\Widget_Base
|
||||
$this->add_control(
|
||||
'order',
|
||||
[
|
||||
'label' => esc_html__('Ordre', 'category-grid-widget'),
|
||||
'label' => esc_html__('Ordre', 'category-grid-widget-for-elementor'),
|
||||
'type' => \Elementor\Controls_Manager::SELECT,
|
||||
'options' => [
|
||||
'ASC' => esc_html__('Croissant (A-Z / 0-9)', 'category-grid-widget'),
|
||||
'DESC' => esc_html__('Décroissant (Z-A / 9-0)', 'category-grid-widget'),
|
||||
'ASC' => esc_html__('Croissant (A-Z / 0-9)', 'category-grid-widget-for-elementor'),
|
||||
'DESC' => esc_html__('Décroissant (Z-A / 9-0)', 'category-grid-widget-for-elementor'),
|
||||
],
|
||||
'default' => 'ASC',
|
||||
]
|
||||
@@ -361,7 +361,7 @@ class Elementor_Category_Grid_Widget extends \Elementor\Widget_Base
|
||||
$this->start_controls_section(
|
||||
'section_layout',
|
||||
[
|
||||
'label' => esc_html__('Mise en page', 'category-grid-widget'),
|
||||
'label' => esc_html__('Mise en page', 'category-grid-widget-for-elementor'),
|
||||
'tab' => \Elementor\Controls_Manager::TAB_CONTENT,
|
||||
]
|
||||
);
|
||||
@@ -370,7 +370,7 @@ class Elementor_Category_Grid_Widget extends \Elementor\Widget_Base
|
||||
$this->add_control(
|
||||
'columns',
|
||||
[
|
||||
'label' => esc_html__('Nombre de colonnes', 'category-grid-widget'),
|
||||
'label' => esc_html__('Nombre de colonnes', 'category-grid-widget-for-elementor'),
|
||||
'type' => \Elementor\Controls_Manager::SELECT,
|
||||
'options' => [
|
||||
1 => '1',
|
||||
@@ -388,13 +388,13 @@ class Elementor_Category_Grid_Widget extends \Elementor\Widget_Base
|
||||
$this->add_control(
|
||||
'image_size',
|
||||
[
|
||||
'label' => esc_html__('Taille des images', 'category-grid-widget'),
|
||||
'label' => esc_html__('Taille des images', 'category-grid-widget-for-elementor'),
|
||||
'type' => \Elementor\Controls_Manager::SELECT,
|
||||
'options' => [
|
||||
'thumbnail' => esc_html__('Miniature (thumbnail)', 'category-grid-widget'),
|
||||
'medium' => esc_html__('Moyen (medium)', 'category-grid-widget'),
|
||||
'large' => esc_html__('Grand (large)', 'category-grid-widget'),
|
||||
'full' => esc_html__('Plein (full)', 'category-grid-widget'),
|
||||
'thumbnail' => esc_html__('Miniature (thumbnail)', 'category-grid-widget-for-elementor'),
|
||||
'medium' => esc_html__('Moyen (medium)', 'category-grid-widget-for-elementor'),
|
||||
'large' => esc_html__('Grand (large)', 'category-grid-widget-for-elementor'),
|
||||
'full' => esc_html__('Plein (full)', 'category-grid-widget-for-elementor'),
|
||||
],
|
||||
'default' => 'medium',
|
||||
]
|
||||
@@ -511,18 +511,23 @@ class Elementor_Category_Grid_Widget extends \Elementor\Widget_Base
|
||||
// Rendu HTML
|
||||
echo '<div class="elementor-category-grid ' . esc_attr($grid_class) . '">';
|
||||
foreach ($terms as $term) {
|
||||
$name = esc_html($term->name);
|
||||
$link = esc_url(get_term_link($term));
|
||||
$image_url = esc_url($term->_image_url);
|
||||
|
||||
$thumbnail_id = get_term_meta( $term->term_id, 'thumbnail_id', true );
|
||||
echo '<div class="category-card">';
|
||||
echo "<a href=\"{$link}\">";
|
||||
if ($image_url) {
|
||||
echo '<a href="' . esc_url(get_term_link($term)) . '">';
|
||||
if (esc_url($term->_image_url)) {
|
||||
echo '<div class="category-card-image">';
|
||||
echo '<img src="' . $image_url . '" alt="' . $name . '">';
|
||||
echo wp_get_attachment_image(
|
||||
$thumbnail_id,
|
||||
$settings['image_size'],
|
||||
false,
|
||||
[
|
||||
'alt' => esc_attr($term->name),
|
||||
'class' => 'category-card-img', // optionnel : ajoutez vos classes CSS
|
||||
]
|
||||
);
|
||||
echo '</div>';
|
||||
}
|
||||
echo '<div class="category-card-name">' . $name . '</div>';
|
||||
echo '<div class="category-card-name">' . esc_html($term->name) . '</div>';
|
||||
echo '</a>';
|
||||
echo '</div>';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user