PluginProbe
Property Hive / 2.2.5
Property Hive v2.2.5
2.3.1 2.3.0 2.2.6 2.2.5 2.2.4 2.2.3 2.2.2 1.4.46 1.4.47 1.4.48 1.4.49 1.4.5 1.4.50 1.4.51 1.4.52 1.4.53 1.4.54 1.4.55 1.4.56 1.4.57 1.4.58 1.4.59 1.4.6 1.4.60 1.4.61 All 261 releases
propertyhive / includes / elementor-widgets / property-marketing-flag.php

property-marketing-flag.php in Property Hive 2.2.5, at includes/elementor-widgets/property-marketing-flag.php

113 lines 2.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Elementor Property Marketing Flag Widget.
4 *
5 * @since 1.0.0
6 */
7 class Elementor_Property_Marketing_Flag_Widget extends \Elementor\Widget_Base {
8
9 public function get_name() {
10 return 'property-marketing-flag';
11 }
12
13 public function get_title() {
14 return __( 'Marketing Flag', 'propertyhive' );
15 }
16
17 public function get_icon() {
18 return 'eicon-meta-data';
19 }
20
21 public function get_categories() {
22 return [ 'property-hive' ];
23 }
24
25 public function get_keywords() {
26 return [ 'property hive', 'propertyhive', 'property', 'marketing flag', 'status' ];
27 }
28
29 protected function register_controls() {
30
31 $this->start_controls_section(
32 'style_section',
33 [
34 'label' => __( 'Marketing Flag', 'propertyhive' ),
35 'tab' => \Elementor\Controls_Manager::TAB_STYLE,
36 ]
37 );
38
39 $this->add_group_control(
40 \Elementor\Group_Control_Typography::get_type(),
41 [
42 'name' => 'typography',
43 'label' => __( 'Typography', 'propertyhive' ),
44 'global' => [
45 'default' => \Elementor\Core\Kits\Documents\Tabs\Global_Typography::TYPOGRAPHY_PRIMARY,
46 ],
47 'selector' => '{{WRAPPER}} .elementor-widget-marketing-flag',
48 ]
49 );
50
51 $this->add_control(
52 'color',
53 [
54 'label' => __( 'Colour', 'propertyhive' ),
55 'type' => \Elementor\Controls_Manager::COLOR,
56 'global' => [
57 'default' => \Elementor\Core\Kits\Documents\Tabs\Global_Colors::COLOR_PRIMARY,
58 ],
59 'selectors' => [
60 '{{WRAPPER}} .elementor-widget-marketing-flag' => 'color: {{VALUE}}',
61 ],
62 ]
63 );
64
65 $this->add_control(
66 'text_align',
67 [
68 'label' => __( 'Alignment', 'propertyhive' ),
69 'type' => \Elementor\Controls_Manager::CHOOSE,
70 'options' => [
71 'left' => [
72 'title' => __( 'Left', 'propertyhive' ),
73 'icon' => 'eicon-text-align-left',
74 ],
75 'center' => [
76 'title' => __( 'Center', 'propertyhive' ),
77 'icon' => 'eicon-text-align-center',
78 ],
79 'right' => [
80 'title' => __( 'Right', 'propertyhive' ),
81 'icon' => 'eicon-text-align-right',
82 ],
83 ],
84 'default' => 'left',
85 'toggle' => true,
86 'selectors' => [
87 '{{WRAPPER}} .elementor-widget-marketing-flag' => 'text-align: {{VALUE}}',
88 ],
89 ]
90 );
91
92 $this->end_controls_section();
93
94 }
95
96 protected function render() {
97
98 global $property;
99
100 $settings = $this->get_settings_for_display();
101
102 if ( !isset($property->id) ) {
103 return;
104 }
105
106 if ( $property->marketing_flag != '' )
107 {
108 echo '<div class="elementor-widget-marketing-flag">' . esc_html($property->marketing_flag) . '</div>';
109 }
110
111 }
112
113 }