/home/bonphmya/topcontenedor.com/wp-content/themes/digitaz/inc/elementor/widgets/breadcrumb.php
<?php
if (!defined('ABSPATH')) {
exit; // Exit if accessed directly.
}
if (!digitaz_is_woocommerce_activated()) {
return;
}
use Elementor\Controls_Manager;
use Elementor\Group_Control_Typography;
class Digitaz_Elementor_Breadcrumb extends Elementor\Widget_Base {
public function get_name() {
return 'woocommerce-breadcrumb';
}
public function get_title() {
return esc_html__('Digitaz WooCommerce Breadcrumbs', 'digitaz');
}
public function get_icon() {
return 'eicon-product-breadcrumbs';
}
public function get_categories() {
return ['digitaz-addons'];
}
protected function register_controls() {
$this->start_controls_section(
'section_product_rating_style',
[
'label' => esc_html__('Style Breadcrumb', 'digitaz'),
'tab' => Controls_Manager::TAB_STYLE,
]
);
$this->add_control(
'wc_style_warning',
[
'type' => Controls_Manager::RAW_HTML,
'raw' => esc_html__('The style of this widget is often affected by your theme and plugins. If you experience any such issue, try to switch to a basic theme and deactivate related plugins.', 'digitaz'),
'content_classes' => 'elementor-panel-alert elementor-panel-alert-info',
]
);
$this->add_control(
'text_color',
[
'label' => esc_html__('Text Color', 'digitaz'),
'type' => Controls_Manager::COLOR,
'selectors' => [
'{{WRAPPER}} .woocommerce-breadcrumb' => 'color: {{VALUE}}',
],
]
);
$this->add_control(
'link_color',
[
'label' => esc_html__('Link Color', 'digitaz'),
'type' => Controls_Manager::COLOR,
'selectors' => [
'{{WRAPPER}} .woocommerce-breadcrumb > a:not(:hover)' => 'color: {{VALUE}}',
],
]
);
$this->add_control(
'link_color_hover',
[
'label' => esc_html__('Link Hover', 'digitaz'),
'type' => Controls_Manager::COLOR,
'selectors' => [
'{{WRAPPER}} .woocommerce-breadcrumb > a:hover' => 'color: {{VALUE}}',
],
]
);
$this->add_group_control(
Group_Control_Typography::get_type(),
[
'label' => esc_html__('Typography Link', 'digitaz'),
'name' => 'text_link_typography',
'selector' => '{{WRAPPER}} .woocommerce-breadcrumb a',
]
);
$this->add_group_control(
Group_Control_Typography::get_type(),
[
'label' => esc_html__('Typography Text', 'digitaz'),
'name' => 'text_typography',
'selector' => '{{WRAPPER}} .woocommerce-breadcrumb',
]
);
$this->add_responsive_control(
'alignment',
[
'label' => esc_html__('Alignment', 'digitaz'),
'type' => Controls_Manager::CHOOSE,
'options' => [
'left' => [
'title' => esc_html__('Left', 'digitaz'),
'icon' => 'eicon-text-align-left',
],
'center' => [
'title' => esc_html__('Center', 'digitaz'),
'icon' => 'eicon-text-align-center',
],
'right' => [
'title' => esc_html__('Right', 'digitaz'),
'icon' => 'eicon-text-align-right',
],
],
'selectors' => [
'{{WRAPPER}} .woocommerce-breadcrumb' => 'text-align: {{VALUE}}',
'{{WRAPPER}} .digitaz-woocommerce-title' => 'text-align: {{VALUE}}',
],
]
);
$this->end_controls_section();
$this->start_controls_section(
'section_product_rating_style_title',
[
'label' => esc_html__('Style Title', 'digitaz'),
'tab' => Controls_Manager::TAB_STYLE,
]
);
$this->add_control(
'text_color_title',
[
'label' => esc_html__('Title Color', 'digitaz'),
'type' => Controls_Manager::COLOR,
'selectors' => [
'{{WRAPPER}} .digitaz-woocommerce-title' => 'color: {{VALUE}}',
],
]
);
$this->add_group_control(
Group_Control_Typography::get_type(),
[
'name' => 'title_typography',
'selector' => '{{WRAPPER}} .digitaz-woocommerce-title',
]
);
$this->add_control(
'display_title',
[
'label' => esc_html__('Hidden Title', 'digitaz'),
'type' => \Elementor\Controls_Manager::SWITCHER,
'prefix_class' => 'hidden-digitaz-title-'
]
);
$this->add_control(
'display_title_single',
[
'label' => esc_html__('Hidden Title Single', 'digitaz'),
'type' => \Elementor\Controls_Manager::SWITCHER,
'prefix_class' => 'hidden-digitaz-title-single-'
]
);
$this->add_responsive_control(
'title_margin',
[
'label' => esc_html__('Margin', 'digitaz'),
'type' => Controls_Manager::DIMENSIONS,
'size_units' => ['px', '%', 'em'],
'selectors' => [
'{{WRAPPER}} .digitaz-woocommerce-title' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
],
]
);
$this->end_controls_section();
}
protected function render() {
$args = apply_filters(
'woocommerce_breadcrumb_defaults',
array(
'delimiter' => '<i class="digitaz-icon-angle-right"></i>',
'wrap_before' => '<nav class="woocommerce-breadcrumb">',
'wrap_after' => '</nav>',
'before' => '',
'after' => '',
'home' => _x('Home Page', 'breadcrumb', 'digitaz'),
)
);
$breadcrumbs = new WC_Breadcrumb();
if (!empty($args['home'])) {
$breadcrumbs->add_crumb($args['home'], apply_filters('woocommerce_breadcrumb_home_url', home_url()));
}
$args['breadcrumb'] = $breadcrumbs->generate();
/**
* WooCommerce Breadcrumb hook
*
* @see WC_Structured_Data::generate_breadcrumblist_data() - 10
*/
do_action('woocommerce_breadcrumb', $breadcrumbs, $args);
printf('<div class="digitaz-woocommerce-title">%s</div>', end($args['breadcrumb'])[0]);
wc_get_template('global/breadcrumb.php', $args);
}
public function render_plain_content() {
}
}
$widgets_manager->register(new Digitaz_Elementor_Breadcrumb());