upk_is_edit_mode()) { return ['upk-all-styles']; } else { return ['upk-font', 'upk-static-social-count']; } } public function get_script_depends() { if ($this->upk_is_edit_mode()) { return ['upk-all-scripts']; } else { return ['upk-static-social-count']; } } public function get_keywords() { return ['post', 'grid', 'blog', 'recent', 'news', 'social-count', 'count']; } public function get_custom_help_url() { return 'https://youtu.be/MmbdYPee9qw'; } public function has_widget_inner_wrapper(): bool { return ! \Elementor\Plugin::$instance->experiments->is_feature_active( 'e_optimized_markup' ); } protected function is_dynamic_content(): bool { return false; } protected function register_controls() { $this->start_controls_section( 'section_layout', [ 'label' => esc_html__('Layout', 'ultimate-post-kit'), ] ); $this->add_control( 'select_style', [ 'label' => esc_html__('Select Style', 'ultimate-post-kit') . BDTUPK_NC, 'type' => Controls_Manager::SELECT, 'default' => '', 'options' => [ '' => esc_html__('Style 1', 'ultimate-post-kit'), 'upk-style-2' => esc_html__('Style 2', 'ultimate-post-kit'), 'upk-style-3' => esc_html__('Style 3', 'ultimate-post-kit'), ], ] ); $this->add_responsive_control( 'grid_columns', [ 'label' => __('Columns', 'ultimate-post-kit'), 'type' => Controls_Manager::SELECT, 'default' => '4', 'tablet_default' => '4', 'mobile_default' => '1', 'options' => [ '1' => '1', '2' => '2', '3' => '3', '4' => '4', '5' => '5', '6' => '6', ], 'selectors' => [ '{{WRAPPER}} .upk-static-social-count' => ' grid-template-columns: repeat({{VALUE}}, 1fr);' ], // 'condition' => [ // 'select_layout' => 'grid' // ] ] ); $this->add_responsive_control( 'social_icon_space_between', [ 'label' => esc_html__('Column Gap', 'ultimate-post-kit'), 'type' => Controls_Manager::SLIDER, 'size_units' => ['px'], 'range' => [ 'px' => [ 'min' => 0, 'max' => 100, 'step' => 1, ] ], 'selectors' => [ '{{WRAPPER}} .upk-static-social-count' => 'grid-gap: {{SIZE}}{{UNIT}};', ], 'separator' => 'before' ] ); $this->end_controls_section(); $this->start_controls_section( 'section_social_sites', [ 'label' => esc_html__('Social Count', 'ultimate-post-kit'), ] ); $repeater = new Repeater(); $repeater->start_controls_tabs( 'social_count_tabs' ); $repeater->start_controls_tab( 'social_count_tabs_content', [ 'label' => esc_html__('Content', 'ultimate-post-kit'), ] ); $repeater->add_control( 'social_site_name', [ 'label' => esc_html__('Label', 'ultimate-post-kit'), 'type' => Controls_Manager::TEXT, 'placeholder' => esc_html__('facebook', 'ultimate-post-kit'), 'dynamic' => [ 'active' => true, ], ] ); $repeater->add_control( 'social_site_link', [ 'label' => esc_html__('Link', 'ultimate-post-kit'), 'type' => Controls_Manager::URL, 'dynamic' => [ 'active' => true ], 'placeholder' => esc_html__('https://facebook.com', 'ultimate-post-kit'), 'show_external' => true, 'default' => [ 'url' => 'https://bdthemes.com', 'is_external' => true, 'nofollow' => true, ], ] ); $repeater->add_control( 'social_site_icon', [ 'label' => esc_html__('Icon', 'ultimate-post-kit'), 'type' => Controls_Manager::ICONS, 'default' => [ 'value' => 'fab fa-wordpress', 'library' => 'fa-brands', ], 'recommended' => [ 'fa-brands' => [ 'android', 'apple', 'behance', 'bitbucket', 'codepen', 'delicious', 'deviantart', 'digg', 'dribbble', 'elementor', 'facebook', 'flickr', 'foursquare', 'free-code-camp', 'github', 'gitlab', 'globe', 'houzz', 'instagram', 'jsfiddle', 'linkedin', 'medium', 'meetup', 'mix', 'mixcloud', 'odnoklassniki', 'pinterest', 'product-hunt', 'reddit', 'shopping-cart', 'skype', 'slideshare', 'snapchat', 'soundcloud', 'spotify', 'stack-overflow', 'steam', 'telegram', 'thumb-tack', 'tripadvisor', 'tumblr', 'twitch', 'twitter', 'viber', 'vimeo', 'vk', 'weibo', 'weixin', 'whatsapp', 'wordpress', 'xing', 'yelp', 'youtube', '500px', ], 'fa-solid' => [ 'envelope', 'link', 'rss', ], ], 'skin' => 'inline', 'label_block' => false ] ); $repeater->add_control( 'social_counter', [ 'label' => esc_html__('Number', 'ultimate-post-kit'), 'type' => Controls_Manager::TEXT, 'dynamic' => [ 'active' => true, ], ] ); $repeater->add_control( 'social_site_meta', [ 'label' => esc_html__('Meta', 'ultimate-post-kit'), 'type' => Controls_Manager::TEXT, 'dynamic' => [ 'active' => true, ], ] ); $repeater->end_controls_tab(); $repeater->start_controls_tab( 'social_count_tabs_style', [ 'label' => esc_html__('Style', 'ultimate-post-kit'), ] ); $repeater->add_group_control( Group_Control_Background::get_type(), [ 'name' => 'social_single_item_bg', 'label' => esc_html__('Background', 'ultimate-post-kit'), 'types' => ['classic', 'gradient'], 'exclude' => ['image'], 'selector' => '{{WRAPPER}} .upk-static-social-count {{CURRENT_ITEM}}.upk-item', ] ); $repeater->add_control( 'heading_icon_social_single', [ 'label' => esc_html__('ICON NORMAL', 'ultimate-post-kit'), 'type' => Controls_Manager::HEADING, 'separator' => 'before', ] ); $repeater->add_control( 'social_single_color', [ 'label' => esc_html__('Color', 'ultimate-post-kit'), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .upk-static-social-count {{CURRENT_ITEM}} .upk-icon span' => 'color: {{VALUE}};', ], ] ); $repeater->add_control( 'social_single_bg_color', [ 'label' => esc_html__('Background', 'ultimate-post-kit'), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .upk-static-social-count {{CURRENT_ITEM}} .upk-icon span' => 'background: {{VALUE}};', ], ] ); $repeater->add_control( 'social_single_border_color', [ 'label' => esc_html__('Border', 'ultimate-post-kit'), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .upk-static-social-count {{CURRENT_ITEM}} .upk-icon span' => 'border-color: {{VALUE}};', ], ] ); $repeater->add_control( 'heading_icon_h_social_single', [ 'label' => esc_html__('ICON HOVER', 'ultimate-post-kit'), 'type' => Controls_Manager::HEADING, 'separator' => 'before', ] ); $repeater->add_control( 'social_single_h_color', [ 'label' => esc_html__('Color', 'ultimate-post-kit'), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .upk-static-social-count {{CURRENT_ITEM}} .upk-icon:hover span' => 'color:{{VALUE}}', ], ] ); $repeater->add_control( 'social_single_h_bg_color', [ 'label' => esc_html__('Background', 'ultimate-post-kit'), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .upk-static-social-count {{CURRENT_ITEM}} .upk-icon:hover span' => 'background: {{VALUE}};', ], ] ); $repeater->add_control( 'social_single_h_border_color', [ 'label' => esc_html__('Border', 'ultimate-post-kit'), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .upk-static-social-count {{CURRENT_ITEM}} .upk-icon:hover span' => 'border-color: {{VALUE}};', ], ] ); $repeater->add_control( 'heading_number_social_single', [ 'label' => esc_html__('NUMBER', 'ultimate-post-kit'), 'type' => Controls_Manager::HEADING, 'separator' => 'before', ] ); $repeater->add_control( 'social_single_count_color', [ 'label' => esc_html__('Color', 'ultimate-post-kit'), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .upk-static-social-count {{CURRENT_ITEM}} .upk-count .counter-value' => 'color: {{VALUE}};', ], ] ); $repeater->add_control( 'heading_meta_social_single', [ 'label' => esc_html__('META', 'ultimate-post-kit'), 'type' => Controls_Manager::HEADING, 'separator' => 'before', ] ); $repeater->add_control( 'social_single_meta_color', [ 'label' => esc_html__('Color', 'ultimate-post-kit'), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .upk-static-social-count {{CURRENT_ITEM}} .upk-meta' => 'color: {{VALUE}};', ], ] ); $repeater->end_controls_tab(); $repeater->end_controls_tabs(); $this->add_control( 'social_counter_list', [ 'label' => esc_html__('Social', 'ultimate-post-kit'), 'type' => Controls_Manager::REPEATER, 'fields' => $repeater->get_controls(), 'default' => [ [ 'social_site_name' => esc_html__('Facebook', 'ultimate-post-kit'), 'social_site_icon' => [ 'value' => 'fab fa-facebook', 'library' => 'fa-brands', ], 'social_counter' => '450', 'social_site_meta' => esc_html__('Likes', 'ultimate-post-kit'), 'social_site_link' => [ 'url' => esc_html__('https://facebook.com/bdthemes', 'ultimate-post-kit') ] ], [ 'social_site_name' => esc_html__('Twitter', 'ultimate-post-kit'), 'social_site_icon' => [ 'value' => 'fab fa-twitter', 'library' => 'fa-brands', ], 'social_counter' => '3000', 'social_site_meta' => esc_html__('Followers', 'ultimate-post-kit'), 'social_site_link' => [ 'url' => esc_html__('https://twitter.com/bdthemescom', 'ultimate-post-kit') ] ], [ 'social_site_name' => esc_html__('Youtube', 'ultimate-post-kit'), 'social_site_icon' => [ 'value' => 'fab fa-youtube', 'library' => 'fa-brands', ], 'social_counter' => '2000000', 'social_site_meta' => esc_html__('Subscriber', 'ultimate-post-kit'), 'social_site_link' => [ 'url' => esc_html__('https://youtube.com/bdthemes', 'ultimate-post-kit') ] ], [ 'social_site_name' => esc_html__('Instagram', 'ultimate-post-kit'), 'social_site_icon' => [ 'value' => 'fab fa-instagram', 'library' => 'fa-brands', ], 'social_counter' => '105000', 'social_site_meta' => esc_html__('Followers', 'ultimate-post-kit'), 'social_site_link' => [ 'url' => esc_html__('https://instagram.com/bdthemes', 'ultimate-post-kit') ] ], ], 'title_field' => '{{{ social_site_name }}}', ] ); $this->end_controls_section(); $this->start_controls_section( 'static_social_items', [ 'label' => esc_html__('Items', 'ultimate-post-kit'), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->start_controls_tabs( 'static_social_item_tabs' ); $this->start_controls_tab( 'static_social_tab_normal', [ 'label' => esc_html__('Normal', 'ultimate-post-kit'), ] ); $this->add_group_control( Group_Control_Background::get_type(), [ 'name' => 'social_static_background', 'label' => esc_html__('Background', 'ultimate-post-kit'), 'types' => ['classic', 'gradient'], 'exclude' => ['image'], 'selector' => '{{WRAPPER}} .upk-static-social-count .upk-item', ] ); $this->add_group_control( Group_Control_Border::get_type(), [ 'name' => 'social_static_border', 'label' => esc_html__('Border', 'ultimate-post-kit'), 'selector' => '{{WRAPPER}} .upk-static-social-count .upk-item', ] ); $this->add_responsive_control( 'social_static_padding', [ 'label' => esc_html__('Padding', 'ultimate-post-kit'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%', 'em'], 'selectors' => [ '{{WRAPPER}} .upk-static-social-count .upk-item' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_responsive_control( 'social_static_border_radius', [ 'label' => esc_html__('Radius', 'ultimate-post-kit'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%', 'em'], 'selectors' => [ '{{WRAPPER}} .upk-static-social-count .upk-item' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_group_control( Group_Control_Box_Shadow::get_type(), [ 'name' => 'static_social_shadow', 'label' => esc_html__('Box Shadow', 'ultimate-post-kit'), 'selector' => '{{WRAPPER}} .upk-static-social-count .upk-item', ] ); $this->end_controls_tab(); $this->start_controls_tab( 'static_social_tab_hover', [ 'label' => esc_html__('Hover', 'ultimate-post-kit'), ] ); $this->add_group_control( Group_Control_Background::get_type(), [ 'name' => 'static_social_hover_bg', 'label' => esc_html__('Background', 'ultimate-post-kit'), 'types' => ['classic', 'gradient'], 'exclude' => ['image'], 'selector' => '{{WRAPPER}} .upk-static-social-count .upk-item:hover', ] ); $this->end_controls_tab(); $this->end_controls_tabs(); $this->end_controls_section(); $this->start_controls_section( 'section_social_count_style', [ 'label' => esc_html__('Icon', 'ultimate-post-kit'), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->start_controls_tabs( 'social_icons_tab' ); $this->start_controls_tab( 'social_icon_tab_normal', [ 'label' => esc_html__('Normal', 'ultimate-post-kit'), ] ); $this->add_control( 'icon_color', [ 'label' => esc_html__('Color', 'ultimate-post-kit'), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .upk-static-social-count .upk-icon span' => 'color: {{VALUE}}', ], ] ); $this->add_group_control( Group_Control_Background::get_type(), [ 'name' => 'icon_background', 'label' => esc_html__('Background', 'ultimate-post-kit'), 'types' => ['classic', 'gradient'], 'selector' => '{{WRAPPER}} .upk-static-social-count .upk-icon span', ] ); $this->add_group_control( Group_Control_Border::get_type(), [ 'name' => 'social_icons_border', 'label' => esc_html__('Border', 'ultimate-post-kit'), 'placeholder' => '1px', 'default' => '1px', 'selector' => '{{WRAPPER}} .upk-static-social-count .upk-icon span', ] ); $this->add_responsive_control( 'social_icon_padding', [ 'label' => esc_html__('Padding', 'ultimate-post-kit'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%', 'em'], 'selectors' => [ '{{WRAPPER}} .upk-static-social-count .upk-icon span ' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_responsive_control( 'social_icon_radius', [ 'label' => esc_html__('Radius', 'ultimate-post-kit'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%', 'em'], 'selectors' => [ '{{WRAPPER}} .upk-static-social-count .upk-icon span ' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_responsive_control( 'social_icon_size', [ 'label' => esc_html__('Size', 'ultimate-post-kit'), 'type' => Controls_Manager::SLIDER, 'size_units' => ['px'], 'range' => [ 'px' => [ 'min' => 0, 'max' => 100, 'step' => 1, ] ], 'selectors' => [ '{{WRAPPER}} .upk-static-social-count .upk-icon span' => 'font-size: {{SIZE}}{{UNIT}};', ] ] ); $this->add_responsive_control( 'social_icon_spacing', [ 'label' => esc_html__('Bottom Spacing', 'ultimate-post-kit'), 'type' => Controls_Manager::SLIDER, 'size_units' => ['px'], 'range' => [ 'px' => [ 'min' => 0, 'max' => 100, 'step' => 1, ] ], 'selectors' => [ '{{WRAPPER}} .upk-static-social-count .upk-icon' => 'margin-bottom: {{SIZE}}{{UNIT}};', ], 'condition' => [ 'select_style' => '' ] ] ); $this->add_responsive_control( 'social_icon_spacing_left', [ 'label' => esc_html__('Spacing', 'ultimate-post-kit'), 'type' => Controls_Manager::SLIDER, 'size_units' => ['px'], 'range' => [ 'px' => [ 'min' => 0, 'max' => 100, 'step' => 1, ] ], 'selectors' => [ '{{WRAPPER}} .upk-static-social-count .upk-icon' => 'margin-right: {{SIZE}}{{UNIT}};', ], 'condition' => [ 'select_style' => 'upk-style-2' ] ] ); $this->end_controls_tab(); $this->start_controls_tab( 'social_icon_tab_hover', [ 'label' => esc_html__('Hover', 'ultimate-post-kit'), ] ); $this->add_control( 'icon_h_color', [ 'label' => esc_html__('Color', 'ultimate-post-kit'), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .upk-static-social-count .upk-icon span:hover' => 'color: {{VALUE}}', ], ] ); $this->add_group_control( Group_Control_Background::get_type(), [ 'name' => 'icon_h_background', 'label' => esc_html__('Background', 'ultimate-post-kit'), 'types' => ['classic', 'gradient'], 'selector' => '{{WRAPPER}} .upk-static-social-count .upk-icon span:hover', ] ); $this->add_control( 'icon_h_border_color', [ 'label' => esc_html__('Border Color', 'ultimate-post-kit'), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .upk-static-social-count .upk-icon span:hover' => 'border-color: {{VALUE}}', ], 'condition' => [ 'social_icons_border_border!' => '' ] ] ); $this->end_controls_tab(); $this->end_controls_tabs(); $this->end_controls_section(); $this->start_controls_section( 'social_counter', [ 'label' => esc_html__('Counter', 'ultimate-post-kit'), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'counter_color', [ 'label' => esc_html__('Color', 'ultimate-post-kit'), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .upk-static-social-count .upk-count .counter-value' => 'color: {{VALUE}}', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'counter_typography', 'label' => esc_html__('Typography', 'ultimate-post-kit'), 'selector' => '{{WRAPPER}} .upk-static-social-count .upk-count .counter-value', ] ); $this->add_responsive_control( 'social_counter_spacing', [ 'label' => esc_html__('Bottom Spacing', 'ultimate-post-kit'), 'type' => Controls_Manager::SLIDER, 'size_units' => ['px'], 'range' => [ 'px' => [ 'min' => 0, 'max' => 100, 'step' => 1, ] ], 'selectors' => [ '{{WRAPPER}} .upk-static-social-count .upk-count' => 'margin-bottom: {{SIZE}}{{UNIT}};', ] ] ); $this->end_controls_section(); $this->start_controls_section( 'social_meta', [ 'label' => esc_html__('Meta', 'ultimate-post-kit'), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'meta_color', [ 'label' => esc_html__('Color', 'ultimate-post-kit'), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .upk-static-social-count .upk-meta' => 'color: {{VALUE}}', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'meta_typography', 'label' => esc_html__('Typography', 'ultimate-post-kit'), 'selector' => '{{WRAPPER}} .upk-static-social-count .upk-meta', ] ); $this->end_controls_section(); } protected function render() { $settings = $this->get_settings_for_display(); $this->add_render_attribute('upk-static-social-count', 'class', ['upk-static-social-count', $settings['select_style']], true); $social_links = $this->get_settings('social_counter_list'); ?>