<?php
use Elementor\Widget_Base;
use Elementor\Controls_Manager;

if (!defined('ABSPATH')) {
  exit;
} // Exit if accessed directly

class kavehwoocommercerating extends \Elementor\Widget_Base
{

  public function get_name()
  {
    return 'kavehwoocommercerating';
  }

  public function get_title()
  {
    return esc_html__('Single Product Rating and Reviews Count Element', 'kavehTheme');
  }

  public function get_icon()
  {
    return 'eicon-archive-posts';
  }

  public function get_categories()
  {
    return ['woocommercekavehelements'];
  }

  protected function register_controls()
  {
    $this->start_controls_section(
      'content1kavehwoocommercerating',
      [
        'label' => esc_html__( 'Content', 'kavehTheme' ),
    
       'tab' => \Elementor\Controls_Manager::TAB_CONTENT,
      ]
    );

    $this->add_control(
      'text_alignkavehwoocommercerating',
      [
        'label' => esc_html__( 'Text Alignment', 'kavehTheme' ),
        'type' => \Elementor\Controls_Manager::CHOOSE,
        'default'   => 'text-start',
        'options' => [
          'text-end' => [
            'title' => esc_html__( 'Left', 'kavehTheme' ),
            'icon' => 'eicon-text-align-left',
          ],
          'text-center' => [
            'title' => esc_html__( 'Center', 'kavehTheme' ),
            'icon' => 'eicon-text-align-center',
          ],
          'text-start' => [
            'title' => esc_html__( 'Right', 'kavehTheme' ),
            'icon' => 'eicon-text-align-right',
          ],
        ],
        'toggle' => true,
      ]
    );
    $this->add_control(
      'titletagkavehwoocommercerating',
      [
        'label' => esc_html__( 'Title Tag', 'kavehTheme' ),
        'type' => \Elementor\Controls_Manager::SELECT,
        'default' => 'H2',
        'options' => [
          'H1'  => esc_html__( 'H1', 'kavehTheme' ),
          'H2' => esc_html__( 'H2', 'kavehTheme' ),
          'H3' => esc_html__( 'H3', 'kavehTheme' ),
          'H4' => esc_html__( 'H4', 'kavehTheme' ),
          'H5' => esc_html__( 'H5', 'kavehTheme' ),
          'H6' => esc_html__( 'H6', 'kavehTheme' ),
          'p' => esc_html__( 'p', 'kavehTheme' ),
          'div' => esc_html__( 'div', 'kavehTheme' ),
          'span' => esc_html__( 'span', 'kavehTheme' ),
        ],
      ]
    );

    $this->end_controls_section();
    $this->start_controls_section(
      'style_kavehwoocommercerating',
      [
        'label' => esc_html__( 'Style', 'kavehTheme' ),
        'tab' => \Elementor\Controls_Manager::TAB_STYLE,
      ]
    );
    $this->add_group_control(
      \Elementor\Group_Control_Typography::get_type(),
      [
        'name' => 'title1typekavehwoocommercerating',
        'label' => esc_html__( 'Title Typography', 'kavehTheme' ),
        'selector' => '{{WRAPPER}} .main-post-title',
      ]
    );
    $this->add_control(
      'title1color1kavehwoocommercerating',
      [
        'label' => esc_html__( 'Title Color', 'kavehTheme' ),
        'type' => \Elementor\Controls_Manager::COLOR,
        'selectors' => [
          '{{WRAPPER}} .main-post-title' => 'color: {{VALUE}} !important',
        ],
      ]
    );
    $this->end_controls_section();

  }



  protected function render()
  {
    $settings = $this->get_settings_for_display();
    $clsid = $this->get_id();
    if ( ! class_exists( 'WooCommerce' ) ) {
      return;
  }

  if (\Elementor\Plugin::$instance->editor->is_edit_mode()) {
      $args = [
          'limit'   => 1,
          'orderby' => 'date',
          'order'   => 'DESC',
          'return'  => 'ids',
          'status'  => 'publish',
      ];
      $latest_product = wc_get_products($args);
      if ( ! empty( $latest_product ) ) {
        // Get product ID
        $product_id = $latest_product[0];
        
        // Get comments count
        $comments_count = get_comments_number( $product_id );
    
        // Get average rating
        $average_rating = get_post_meta( $product_id, '_wc_average_rating', true );
        $product    = wc_get_product( $product_id );
    
        // Display information
        echo 'Comments count: ' . esc_html( $comments_count ) . '<br>';
        echo 'Average rating: ' . esc_html( $average_rating );
      }else{
        esc_html__('No product found.', 'kavehTheme');
    }
  }else{
      global $product;
      
      $product_id = get_queried_object_id();
      $product    = wc_get_product( $product_id );


      $comments_count = get_comments_number( $product_id );
    
      // Get average rating
      $average_rating = get_post_meta( $product_id, '_wc_average_rating', true );

      // Get ratings count

      echo 'Comments count: ' . esc_html( $comments_count ) . '<br>';
        echo 'Average rating: ' . esc_html( $average_rating );
    
      }

  ?>
    


    <?php
  }

}


