upk_is_edit_mode()) { return ['upk-all-styles']; } else { return ['upk-font', 'upk-gratis-grid']; } } public function get_script_depends() { if ($this->upk_is_edit_mode()) { return ['upk-all-scripts']; } else { return ['upk-ajax-loadmore']; } } public function get_custom_help_url() { return 'https://youtu.be/jLBLAqxEOwQ'; } public function get_query() { return $this->_query; } public function has_widget_inner_wrapper(): bool { return ! \Elementor\Plugin::$instance->experiments->is_feature_active( 'e_optimized_markup' ); } protected function register_controls() { $this->start_controls_section( 'section_content_layout', [ 'label' => esc_html__('Layout', 'ultimate-post-kit'), ] ); $this->add_responsive_control( 'columns', [ 'label' => __('Columns', 'ultimate-post-kit') . BDTUPK_PC, 'type' => Controls_Manager::SELECT, 'default' => '3', 'tablet_default' => '2', 'mobile_default' => '1', 'options' => [ '1' => '1', '2' => '2', '3' => '3', '4' => '4', '5' => '5', '6' => '6', ], 'selectors' => [ '{{WRAPPER}} .upk-gratis-grid .upk-gratis-wrap' => 'grid-template-columns: repeat({{SIZE}}, 1fr);', ], 'classes' => BDTUPK_IS_PC ] ); $this->add_responsive_control( 'row_gap', [ 'label' => esc_html__('Row Gap', 'ultimate-post-kit'), 'type' => Controls_Manager::SLIDER, 'selectors' => [ '{{WRAPPER}} .upk-gratis-grid .upk-gratis-wrap' => 'grid-row-gap: {{SIZE}}{{UNIT}};', ] ] ); $this->add_responsive_control( 'column_gap', [ 'label' => esc_html__('Column Gap', 'ultimate-post-kit'), 'type' => Controls_Manager::SLIDER, 'selectors' => [ '{{WRAPPER}} .upk-gratis-grid .upk-gratis-wrap' => 'grid-column-gap: {{SIZE}}{{UNIT}};', ] ] ); // item height control $this->add_responsive_control( 'item_height', [ 'label' => __('Item Height', 'ultimate-post-kit'), 'type' => Controls_Manager::SLIDER, 'default' => [ 'size' => 400, ], 'range' => [ 'px' => [ 'min' => 100, 'max' => 1000, ], ], 'selectors' => [ '{{WRAPPER}} .upk-img-wrap' => 'height: {{SIZE}}{{UNIT}};', ], ], ); $this->add_group_control( Group_Control_Image_Size::get_type(), [ 'name' => 'primary_thumbnail', 'exclude' => ['custom'], 'default' => 'medium', ] ); $this->add_control( 'active_item', [ 'label' => __('Active Item', 'ultimate-post-kit') . BDTUPK_PC, 'type' => Controls_Manager::NUMBER, 'default' => 2, 'description' => __('Be more creative with your design by typing in your item number.', 'ultimate-post-kit'), 'separator' => 'before', 'classes' => BDTUPK_IS_PC, ] ); $this->end_controls_section(); //New Query Builder Settings $this->start_controls_section( 'section_post_query_builder', [ 'label' => __('Query', 'ultimate-post-kit'), 'tab' => Controls_Manager::TAB_CONTENT, ] ); $this->add_control( 'item_limit', [ 'label' => esc_html__('Item Limit', 'ultimate-post-kit'), 'type' => Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => 1, 'max' => 20, ], ], 'default' => [ 'size' => 6, ], ] ); $this->register_query_builder_controls(); $this->end_controls_section(); $this->start_controls_section( 'section_content_additional', [ 'label' => esc_html__('Additional Options', 'ultimate-post-kit'), ] ); //Global Title Controls $this->register_title_controls(); $this->add_control( 'show_category', [ 'label' => esc_html__('Show Category', 'ultimate-post-kit'), 'type' => Controls_Manager::SWITCHER, 'default' => 'yes', ] ); $this->add_control( 'show_meta', [ 'label' => esc_html__('Show Meta', 'ultimate-post-kit'), 'type' => Controls_Manager::SWITCHER, 'default' => 'yes', 'separator' => 'before' ] ); $this->add_control( 'show_readmore', [ 'label' => esc_html__('Read more', 'ultimate-post-kit'), 'type' => Controls_Manager::SWITCHER, 'default' => 'yes', 'separator' => 'before' ] ); $this->add_control( 'readmore_text', [ 'label' => __('Read More Text', 'ultimate-post-kit'), 'type' => Controls_Manager::TEXT, 'dynamic' => [ 'active' => true ], 'default' => esc_html__('Explore', 'ultimate-post-kit'), 'label_block' => false, 'condition' => [ 'show_readmore' => 'yes' ] ] ); //Global Date Controls $this->register_date_controls(); //Global Reading Time Controls $this->register_reading_time_controls(); $this->add_control( 'meta_separator', [ 'label' => __('Separator', 'ultimate-post-kit'), 'type' => Controls_Manager::TEXT, 'default' => '/', 'label_block' => false, ] ); $this->add_control( 'item_match_height', [ 'label' => __('Item Match Height', 'ultimate-post-kit'), 'type' => Controls_Manager::SWITCHER, 'default' => 'yes', 'prefix_class' => 'upk-item-match-height--', 'separator' => 'before' ] ); $this->add_control( 'show_pagination', [ 'label' => esc_html__('Show Pagination', 'ultimate-post-kit'), 'type' => Controls_Manager::SWITCHER, 'separator' => 'before' ] ); //Global Ajax Controls $this->register_ajax_loadmore_controls(); $this->add_control( 'global_link', [ 'label' => __('Item Wrapper Link', 'ultimate-post-kit'), 'type' => Controls_Manager::SWITCHER, 'prefix_class' => 'upk-global-link-', 'description' => __('Be aware! When Item Wrapper Link activated then title link and read more link will not work', 'ultimate-post-kit'), ] ); $this->end_controls_section(); //Style $this->start_controls_section( 'upk_section_style', [ 'label' => esc_html__('Items', 'ultimate-post-kit'), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->start_controls_tabs('tabs_item_style'); $this->start_controls_tab( 'tab_item_normal', [ 'label' => esc_html__('Normal', 'ultimate-post-kit'), ] ); $this->add_control( 'overlay_type', [ 'label' => esc_html__('Overlay', 'ultimate-post-kit'), 'type' => Controls_Manager::SELECT, 'default' => 'background', 'options' => [ 'none' => esc_html__('None', 'ultimate-post-kit'), 'background' => esc_html__('Background', 'ultimate-post-kit'), 'blend' => esc_html__('Blend', 'ultimate-post-kit'), ], ] ); $this->add_group_control( Group_Control_Background::get_type(), [ 'name' => 'overlay_color', 'label' => esc_html__('Background', 'ultimate-post-kit'), 'types' => ['classic', 'gradient'], 'exclude' => ['image'], 'selector' => '{{WRAPPER}} .upk-gratis-grid .upk-img-wrap::before', 'fields_options' => [ 'background' => [ 'default' => 'classic', ], 'color' => [ 'default' => '#fff', ], ], 'condition' => [ 'overlay_type' => ['background', 'blend'], ], ] ); $this->add_control( 'blend_type', [ 'label' => esc_html__('Blend Type', 'ultimate-post-kit'), 'type' => Controls_Manager::SELECT, 'default' => 'multiply', 'options' => ultimate_post_kit_blend_options(), 'condition' => [ 'overlay_type' => 'blend', ], 'selectors' => [ '{{WRAPPER}} .upk-gratis-grid .upk-img-wrap::before' => 'mix-blend-mode: {{VALUE}};' ], ] ); //border $this->add_group_control( Group_Control_Border::get_type(), [ 'name' => 'item_border', 'label' => esc_html__('Border', 'ultimate-post-kit'), 'selector' => '{{WRAPPER}} .upk-gratis-grid .upk-item', 'separator' => 'before' ] ); //border radius $this->add_responsive_control( 'item_border_radius', [ 'label' => esc_html__('Border Radius', 'ultimate-post-kit'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%'], 'selectors' => [ '{{WRAPPER}} .upk-gratis-grid .upk-item' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); //padding $this->add_responsive_control( 'item_padding', [ 'label' => esc_html__('Padding', 'ultimate-post-kit'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%'], 'selectors' => [ '{{WRAPPER}} .upk-gratis-grid .upk-content-wrap' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); //box shadow $this->add_group_control( Group_Control_Box_Shadow::get_type(), [ 'name' => 'item_box_shadow', 'label' => esc_html__('Box Shadow', 'ultimate-post-kit'), 'selector' => '{{WRAPPER}} .upk-gratis-grid .upk-item', ] ); $this->end_controls_tab(); $this->start_controls_tab( 'tab_item_hover', [ 'label' => esc_html__('Hover', 'ultimate-post-kit'), ] ); $this->add_group_control( Group_Control_Background::get_type(), [ 'name' => 'overlay_hover_color', 'label' => esc_html__('Background', 'ultimate-post-kit'), 'types' => ['classic', 'gradient'], 'exclude' => ['image'], 'selector' => '{{WRAPPER}} .upk-gratis-grid .upk-img-wrap::after', 'fields_options' => [ 'background' => [ 'label' => esc_html__('Overlay Color', 'ultimate-post-kit'), 'default' => 'gradient', ], 'color' => [ 'default' => 'rgba(32, 34, 37, 0.81)', ], 'color_b' => [ 'default' => 'rgba(0, 0, 0, 0)', ], 'gradient_type' => [ 'default' => 'linear', ], 'gradient_angle' => [ 'default' => [ 'unit' => 'deg', 'size' => 25, ], ], ], ] ); //border color $this->add_control( 'item_border_color_hover', [ 'label' => esc_html__('Border Color', 'ultimate-post-kit'), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .upk-gratis-grid .upk-item:hover' => 'border-color: {{VALUE}};', ], 'condition' => [ 'item_border_border!' => '', ], ] ); //box shadow $this->add_group_control( Group_Control_Box_Shadow::get_type(), [ 'name' => 'item_box_shadow_hover', 'label' => esc_html__('Box Shadow', 'ultimate-post-kit'), 'selector' => '{{WRAPPER}} .upk-gratis-grid .upk-item:hover', ] ); $this->end_controls_tab(); $this->start_controls_tab( 'tab_item_active', [ 'label' => esc_html__('Active', 'ultimate-post-kit'), ] ); $this->add_group_control( Group_Control_Background::get_type(), [ 'name' => 'overlay_active_color', 'label' => esc_html__('Background', 'ultimate-post-kit'), 'types' => ['classic', 'gradient'], 'exclude' => ['image'], 'selector' => '{{WRAPPER}} .upk-gratis-grid .upk-item.active .upk-img-wrap::after', ] ); //border color $this->add_control( 'item_border_color_active', [ 'label' => esc_html__('Border Color', 'ultimate-post-kit'), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .upk-gratis-grid .upk-item.active' => 'border-color: {{VALUE}};', ], 'condition' => [ 'item_border_border!' => '', ], 'separator' => 'before' ] ); //box shadow $this->add_group_control( Group_Control_Box_Shadow::get_type(), [ 'name' => 'item_box_shadow_active', 'label' => esc_html__('Box Shadow', 'ultimate-post-kit'), 'selector' => '{{WRAPPER}} .upk-gratis-grid .upk-item.active', ] ); $this->end_controls_tab(); $this->end_controls_tabs(); $this->end_controls_section(); $this->start_controls_section( 'section_style_title', [ 'label' => esc_html__('Title', 'ultimate-post-kit'), 'tab' => Controls_Manager::TAB_STYLE, 'condition' => [ 'show_title' => 'yes', ], ] ); $this->add_control( 'title_style', [ 'label' => esc_html__('Style', 'ultimate-post-kit'), 'type' => Controls_Manager::SELECT, 'default' => 'underline', 'options' => [ 'underline' => esc_html__('Underline', 'ultimate-post-kit'), 'middle-underline' => esc_html__('Middle Underline', 'ultimate-post-kit'), 'overline' => esc_html__('Overline', 'ultimate-post-kit'), 'middle-overline' => esc_html__('Middle Overline', 'ultimate-post-kit'), ], ] ); $this->add_control( 'title_color', [ 'label' => esc_html__('Color', 'ultimate-post-kit'), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .upk-gratis-grid .upk-gratis-wrap .upk-title a' => 'color: {{VALUE}};', ], 'separator' => 'before' ] ); $this->add_control( 'title_hover_color', [ 'label' => esc_html__('Hover Color', 'ultimate-post-kit'), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .upk-gratis-grid .upk-gratis-wrap .upk-item.active .upk-title a:hover, {{WRAPPER}} .upk-gratis-grid .upk-gratis-wrap .upk-item:hover .upk-title a:hover' => 'color: {{VALUE}};', ], ] ); $this->add_control( 'title_item_hover_color', [ 'label' => esc_html__('Item Hover & Active Color', 'ultimate-post-kit'), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .upk-gratis-grid .upk-gratis-wrap .upk-item.active .upk-title a, {{WRAPPER}} .upk-gratis-grid .upk-gratis-wrap .upk-item:hover .upk-title a' => 'color: {{VALUE}};', ], ] ); //margin $this->add_responsive_control( 'title_margin', [ 'label' => esc_html__('Margin', 'ultimate-post-kit'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%', 'em'], 'selectors' => [ '{{WRAPPER}} .upk-gratis-grid .upk-title' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], 'separator' => 'before' ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'title_typography', 'label' => esc_html__('Typography', 'ultimate-post-kit'), 'selector' => '{{WRAPPER}} .upk-gratis-grid .upk-title', ] ); $this->add_group_control( Group_Control_Text_Shadow::get_type(), [ 'name' => 'title_text_shadow', 'label' => __('Text Shadow', 'ultimate-post-kit'), 'selector' => '{{WRAPPER}} .upk-gratis-grid .upk-title', ] ); $this->end_controls_section(); $this->start_controls_section( 'section_style_meta', [ 'label' => esc_html__('Meta', 'ultimate-post-kit'), 'tab' => Controls_Manager::TAB_STYLE, 'condition' => [ 'show_meta' => 'yes', ], ] ); $this->add_control( 'meta_color', [ 'label' => esc_html__('Color', 'ultimate-post-kit'), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .upk-gratis-grid .upk-meta, {{WRAPPER}} .upk-gratis-grid .upk-author-name' => 'color: {{VALUE}};', ], ] ); $this->add_control( 'meta_hover_color', [ 'label' => esc_html__('Hover Color', 'ultimate-post-kit'), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .upk-gratis-grid .upk-author-name:hover' => 'color: {{VALUE}};', ], ] ); $this->add_control( 'meta_item_hover_active_color', [ 'label' => esc_html__('Item Hover & Active Color', 'ultimate-post-kit'), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .upk-gratis-grid .upk-item.active .upk-meta, {{WRAPPER}} .upk-gratis-grid .upk-item:hover .upk-meta, {{WRAPPER}} .upk-gratis-grid .upk-item.active .upk-author-name, {{WRAPPER}} .upk-gratis-grid .upk-item:hover .upk-author-name' => 'color: {{VALUE}};', ], ] ); $this->add_responsive_control( 'meta_icon_size', [ 'label' => esc_html__('Icon Size', 'ultimate-post-kit'), 'type' => Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => 0, 'max' => 50, ], ], 'selectors' => [ '{{WRAPPER}} .upk-gratis-grid .upk-meta svg' => 'width: {{SIZE}}{{UNIT}}; height: {{SIZE}}{{UNIT}};', ], 'separator' => 'before' ] ); $this->add_responsive_control( 'meta_space_between', [ 'label' => esc_html__('Space Between', 'ultimate-post-kit'), 'type' => Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => 0, 'max' => 50, ], ], 'selectors' => [ '{{WRAPPER}} .upk-gratis-grid .upk-meta' => 'gap: {{SIZE}}{{UNIT}};', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'meta_typography', 'label' => esc_html__('Typography', 'ultimate-post-kit'), 'selector' => '{{WRAPPER}} .upk-gratis-grid .upk-meta', ] ); $this->add_control( 'line_heading', [ 'label' => __('LINE', 'ultimate-post-kit'), 'type' => Controls_Manager::HEADING, 'separator' => 'before' ] ); $this->add_responsive_control( 'meta_line_height_size', [ 'label' => esc_html__('Line Height', 'ultimate-post-kit'), 'type' => Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => 0, 'max' => 50, ], ], 'selectors' => [ '{{WRAPPER}} .upk-gratis-line' => 'height: {{SIZE}}{{UNIT}};', ], ] ); $this->add_control( 'line_border_color', [ 'label' => esc_html__('Line Color', 'ultimate-post-kit'), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .upk-gratis-line' => 'background-color: {{VALUE}};', ], ] ); $this->add_control( 'line_border_hover_active_color', [ 'label' => esc_html__('Hover / Active Line Color', 'ultimate-post-kit'), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .upk-item.active .upk-gratis-line, {{WRAPPER}} .upk-item:hover .upk-gratis-line' => 'background-color: {{VALUE}};', ], ] ); //margin control $this->add_responsive_control( 'line_margin', [ 'label' => esc_html__('Margin', 'ultimate-post-kit'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%', 'em'], 'selectors' => [ '{{WRAPPER}} .upk-gratis-grid .upk-gratis-line' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->end_controls_section(); $this->start_controls_section( 'section_style_category', [ 'label' => esc_html__('Category', 'ultimate-post-kit'), 'tab' => Controls_Manager::TAB_STYLE, 'condition' => [ 'show_category' => 'yes', ], ] ); $this->start_controls_tabs('tabs_category_style'); $this->start_controls_tab( 'tab_category_normal', [ 'label' => esc_html__('Normal', 'ultimate-post-kit'), ] ); $this->add_control( 'category_color', [ 'label' => esc_html__('Color', 'ultimate-post-kit'), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .upk-gratis-grid .upk-category a' => 'color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Background::get_type(), [ 'name' => 'category_background', 'selector' => '{{WRAPPER}} .upk-gratis-grid .upk-category a', ] ); $this->add_group_control( Group_Control_Border::get_type(), [ 'name' => 'category_border', 'selector' => '{{WRAPPER}} .upk-gratis-grid .upk-category a', ] ); $this->add_responsive_control( 'category_border_radius', [ 'label' => esc_html__('Border Radius', 'ultimate-post-kit'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%'], 'selectors' => [ '{{WRAPPER}} .upk-gratis-grid .upk-category a' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_responsive_control( 'category_padding', [ 'label' => esc_html__('Padding', 'ultimate-post-kit'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', 'em', '%'], 'selectors' => [ '{{WRAPPER}} .upk-gratis-grid .upk-category a' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_responsive_control( 'category_spacing', [ 'label' => esc_html__('Space Between', 'ultimate-post-kit'), 'type' => Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => 0, 'max' => 50, 'step' => 2, ], ], 'selectors' => [ '{{WRAPPER}} .upk-gratis-grid .upk-category a+a' => 'margin-left: {{SIZE}}{{UNIT}};', ], ] ); $this->add_group_control( Group_Control_Box_Shadow::get_type(), [ 'name' => 'category_shadow', 'selector' => '{{WRAPPER}} .upk-gratis-grid .upk-category a', ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'category_typography', 'label' => esc_html__('Typography', 'ultimate-post-kit'), 'selector' => '{{WRAPPER}} .upk-gratis-grid .upk-category a', ] ); $this->end_controls_tab(); $this->start_controls_tab( 'tab_category_hover', [ 'label' => esc_html__('Hover', 'ultimate-post-kit'), ] ); $this->add_control( 'category_hover_color', [ 'label' => esc_html__('Color', 'ultimate-post-kit'), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .upk-gratis-grid .upk-category a:hover' => 'color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Background::get_type(), [ 'name' => 'category_hover_background', 'selector' => '{{WRAPPER}} .upk-gratis-grid .upk-category a:hover', ] ); $this->add_control( 'category_hover_border_color', [ 'label' => esc_html__('Border Color', 'ultimate-post-kit'), 'type' => Controls_Manager::COLOR, 'condition' => [ 'category_border_border!' => '', ], 'selectors' => [ '{{WRAPPER}} .upk-gratis-grid .upk-category a:hover' => 'border-color: {{VALUE}};', ], ] ); $this->end_controls_tab(); $this->start_controls_tab( 'tab_category_item_hover', [ 'label' => esc_html__('Item Hover & Active', 'ultimate-post-kit'), ] ); $this->add_control( 'category_item_hover_color', [ 'label' => esc_html__('Color', 'ultimate-post-kit'), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .upk-gratis-grid .upk-item.active .upk-category a, {{WRAPPER}} .upk-gratis-grid .upk-item:hover .upk-category a' => 'color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Background::get_type(), [ 'name' => 'category_hover_item_background', 'selector' => '{{WRAPPER}} .upk-gratis-grid .upk-item.active .upk-category a, {{WRAPPER}} .upk-gratis-grid .upk-item:hover .upk-category a', ] ); $this->add_control( 'category_item_hover_border_color', [ 'label' => esc_html__('Border Color', 'ultimate-post-kit'), 'type' => Controls_Manager::COLOR, 'condition' => [ 'category_border_border!' => '', ], 'selectors' => [ '{{WRAPPER}} .upk-gratis-grid .upk-item.active .upk-category a, {{WRAPPER}} .upk-gratis-grid .upk-item:hover .upk-category a' => 'border-color: {{VALUE}};', ], ] ); $this->end_controls_tab(); $this->end_controls_tabs(); $this->end_controls_section(); $this->start_controls_section( 'section_style_link_button', [ 'label' => esc_html__('Read More', 'ultimate-post-kit'), 'tab' => Controls_Manager::TAB_STYLE, 'condition' => [ 'show_readmore' => 'yes', ], ] ); $this->start_controls_tabs('tabs_link_button_style'); $this->start_controls_tab( 'tab_link_button_normal', [ 'label' => esc_html__('Normal', 'ultimate-post-kit'), ] ); $this->add_control( 'link_button_color', [ 'label' => esc_html__('Color', 'ultimate-post-kit'), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .upk-gratis-grid .upk-link-button a' => 'color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Background::get_type(), [ 'name' => 'link_button_background', 'selector' => '{{WRAPPER}} .upk-gratis-grid .upk-link-button a', ] ); $this->add_group_control( Group_Control_Border::get_type(), [ 'name' => 'link_button_border', 'selector' => '{{WRAPPER}} .upk-gratis-grid .upk-link-button a', ] ); $this->add_responsive_control( 'link_button_border_radius', [ 'label' => esc_html__('Border Radius', 'ultimate-post-kit'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%'], 'selectors' => [ '{{WRAPPER}} .upk-gratis-grid .upk-link-button a' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_responsive_control( 'link_button_padding', [ 'label' => esc_html__('Padding', 'ultimate-post-kit'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', 'em', '%'], 'selectors' => [ '{{WRAPPER}} .upk-gratis-grid .upk-link-button a' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_group_control( Group_Control_Box_Shadow::get_type(), [ 'name' => 'link_button_shadow', 'selector' => '{{WRAPPER}} .upk-gratis-grid .upk-link-button a', ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'link_button_typography', 'label' => esc_html__('Typography', 'ultimate-post-kit'), 'selector' => '{{WRAPPER}} .upk-gratis-grid .upk-link-button a', ] ); $this->end_controls_tab(); $this->start_controls_tab( 'tab_link_button_hover', [ 'label' => esc_html__('Hover', 'ultimate-post-kit'), ] ); $this->add_control( 'link_button_hover_color', [ 'label' => esc_html__('Color', 'ultimate-post-kit'), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .upk-gratis-grid .upk-item .upk-link-button a:hover' => 'color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Background::get_type(), [ 'name' => 'link_button_hover_background', 'selector' => '{{WRAPPER}} .upk-gratis-grid .upk-item .upk-link-button a::before', ] ); $this->add_control( 'link_button_hover_border_color', [ 'label' => esc_html__('Border Color', 'ultimate-post-kit'), 'type' => Controls_Manager::COLOR, 'condition' => [ 'link_button_border_border!' => '', ], 'selectors' => [ '{{WRAPPER}} .upk-gratis-grid .upk-item .upk-link-button a:hover' => 'border-color: {{VALUE}};', ], ] ); $this->end_controls_tab(); $this->start_controls_tab( 'tab_link_button_item_hover', [ 'label' => esc_html__('Item Hover & Active', 'ultimate-post-kit'), ] ); $this->add_control( 'link_button_item_hover_color', [ 'label' => esc_html__('Color', 'ultimate-post-kit'), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .upk-gratis-grid .upk-item.active .upk-link-button a, {{WRAPPER}} .upk-gratis-grid .upk-item:hover .upk-link-button a' => 'color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Background::get_type(), [ 'name' => 'link_button_item_hover_background', 'selector' => '{{WRAPPER}} .upk-gratis-grid .upk-item.active .upk-link-button a, {{WRAPPER}} .upk-gratis-grid .upk-item:hover .upk-link-button a', ] ); $this->add_control( 'link_button_item_hover_border_color', [ 'label' => esc_html__('Border Color', 'ultimate-post-kit'), 'type' => Controls_Manager::COLOR, 'condition' => [ 'link_button_border_border!' => '', ], 'selectors' => [ '{{WRAPPER}} .upk-gratis-grid .upk-item.active .upk-link-button a, {{WRAPPER}} .upk-gratis-grid .upk-item:hover .upk-link-button a' => 'border-color: {{VALUE}};', ], ] ); $this->end_controls_tab(); $this->end_controls_tabs(); $this->end_controls_section(); //Global ajax style controls $this->register_ajax_loadmore_style_controls(); } /** * Main query render for this widget * @param $posts_per_page number item query limit */ public function query_posts($posts_per_page) { $default = $this->getGroupControlQueryArgs(); $args = []; if ($posts_per_page) { $args['posts_per_page'] = $posts_per_page; $args['paged'] = max(1, get_query_var('paged'), get_query_var('page')); } $args = array_merge($default, $args); $this->_query = new WP_Query($args); } public function render_image($image_id, $size) { $placeholder_image_src = Utils::get_placeholder_image_src(); $image_src = wp_get_attachment_image_src($image_id, $size); if (!$image_src) { $image_src = $placeholder_image_src; } else { $image_src = $image_src[0]; } ?> <?php echo esc_html(get_the_title()); ?> get_settings('show_category')) { return; } ?>
get_settings('posts_source')); ?>
get_settings_for_display(); if (!$this->get_settings('show_date')) { return; } ?>
get_settings('show_meta')) { return; } ?>
get_settings_for_display(); if ('yes' == $settings['global_link']) { $this->add_render_attribute('grid-item', 'onclick', "window.open('" . esc_url(get_permalink()) . "', '_self')", true); } $this->add_render_attribute('grid-item', 'class', 'upk-item ' . $active_item, true); ?>
print_render_attribute_string('grid-item'); ?>>
render_image(get_post_thumbnail_id($post_id), $image_size); ?>
render_category(); ?> render_title(substr($this->get_name(), 4)); ?>
render_author(); ?>
render_date(); ?>
get_settings_for_display(); $this->query_posts($settings['item_limit']['size']); $wp_query = $this->get_query(); if (!$wp_query->found_posts) { return; } $this->add_render_attribute('grid-wrap', 'class', 'upk-gratis-wrap upk-ajax-grid-wrap'); if (isset($settings['upk_in_animation_show']) && ($settings['upk_in_animation_show'] == 'yes')) { $this->add_render_attribute('grid-wrap', 'class', 'upk-in-animation'); if (isset($settings['upk_in_animation_delay']['size'])) { $this->add_render_attribute('grid-wrap', 'data-in-animation-delay', $settings['upk_in_animation_delay']['size']); } } $this->add_render_attribute( [ 'upk-gratis-grid' => [ 'class' => 'upk-gratis-grid upk-ajax-grid', 'data-loadmore' => [ wp_json_encode( array_filter( [ 'loadmore_enable' => $settings['ajax_loadmore_enable'], 'loadmore_btn' => $settings['ajax_loadmore_btn'], 'infinite_scroll' => $settings['ajax_loadmore_infinite_scroll'], ] ) ), ], ], ] ); if ( $settings['ajax_loadmore_enable'] == 'yes' ) { $ajax_settings = [ 'posts_source' => isset( $settings['posts_source'] ) ? $settings['posts_source'] : 'post', 'posts_per_page' => isset( $settings['item_limit']['size'] ) ? $settings['item_limit']['size'] : 6, 'ajax_item_load' => isset( $settings['ajax_loadmore_items'] ) ? $settings['ajax_loadmore_items'] : 3, 'posts_selected_ids' => isset( $settings['posts_selected_ids'] ) ? $settings['posts_selected_ids'] : '', 'posts_include_by' => isset( $settings['posts_include_by'] ) ? $settings['posts_include_by'] : [], 'posts_include_author_ids' => isset( $settings['posts_include_author_ids'] ) ? $settings['posts_include_author_ids'] : '', 'posts_include_term_ids' => isset( $settings['posts_include_term_ids'] ) ? $settings['posts_include_term_ids'] : '', 'posts_exclude_by' => isset( $settings['posts_exclude_by'] ) ? $settings['posts_exclude_by'] : [], 'posts_exclude_ids' => isset( $settings['posts_exclude_ids'] ) ? $settings['posts_exclude_ids'] : '', 'posts_exclude_author_ids' => isset( $settings['posts_exclude_author_ids'] ) ? $settings['posts_exclude_author_ids'] : '', 'posts_exclude_term_ids' => isset( $settings['posts_exclude_term_ids'] ) ? $settings['posts_exclude_term_ids'] : '', 'posts_offset' => isset( $settings['posts_offset'] ) ? $settings['posts_offset'] : 0, 'posts_select_date' => isset( $settings['posts_select_date'] ) ? $settings['posts_select_date'] : '', 'posts_date_before' => isset( $settings['posts_date_before'] ) ? $settings['posts_date_before'] : '', 'posts_date_after' => isset( $settings['posts_date_after'] ) ? $settings['posts_date_after'] : '', 'posts_orderby' => isset( $settings['posts_orderby'] ) ? $settings['posts_orderby'] : 'date', 'posts_order' => isset( $settings['posts_order'] ) ? $settings['posts_order'] : 'DESC', 'posts_ignore_sticky_posts' => isset( $settings['posts_ignore_sticky_posts'] ) ? $settings['posts_ignore_sticky_posts'] : 'no', 'posts_only_with_featured_image' => isset( $settings['posts_only_with_featured_image'] ) ? $settings['posts_only_with_featured_image'] : 'no', // Grid Settings 'show_title' => isset( $settings['show_title'] ) ? $settings['show_title'] : 'yes', 'title_tags' => isset( $settings['title_tags'] ) ? $settings['title_tags'] : 'h3', 'show_meta' => isset( $settings['show_meta'] ) ? $settings['show_meta'] : 'yes', 'show_author' => isset( $settings['show_author'] ) ? $settings['show_author'] : 'yes', 'show_date' => isset( $settings['show_date'] ) ? $settings['show_date'] : 'yes', 'human_diff_time' => isset( $settings['human_diff_time'] ) ? $settings['human_diff_time'] : 'no', 'human_diff_time_short' => isset( $settings['human_diff_time_short'] ) ? $settings['human_diff_time_short'] : 'no', 'show_time' => isset( $settings['show_time'] ) ? $settings['show_time'] : '', 'show_category' => isset( $settings['show_category'] ) ? $settings['show_category'] : 'yes', 'show_readmore' => isset( $settings['show_readmore'] ) ? $settings['show_readmore'] : 'yes', 'readmore_text' => isset( $settings['readmore_text'] ) ? $settings['readmore_text'] : '', 'show_reading_time' => isset( $settings['show_reading_time'] ) ? $settings['show_reading_time'] : 'no', 'avg_reading_speed' => isset( $settings['avg_reading_speed'] ) ? $settings['avg_reading_speed'] : 200, 'hide_seconds' => isset( $settings['hide_seconds'] ) ? $settings['hide_seconds'] : 'no', 'hide_minutes' => isset( $settings['hide_minutes'] ) ? $settings['hide_minutes'] : 'no', 'meta_separator' => isset( $settings['meta_separator'] ) ? $settings['meta_separator'] : '/', 'primary_thumbnail_size' => isset( $settings['primary_thumbnail_size'] ) ? $settings['primary_thumbnail_size'] : 'full', 'title_style' => isset( $settings['title_style'] ) ? $settings['title_style'] : 'underline', 'upk_link_new_tab' => isset( $settings['upk_link_new_tab'] ) ? $settings['upk_link_new_tab'] : 'no', 'global_link' => isset( $settings['global_link'] ) ? $settings['global_link'] : 'no', ]; $this->add_render_attribute( [ 'upk-gratis-grid' => [ 'data-settings' => [ wp_json_encode( $ajax_settings ), ], ], ] ); } ?>
print_render_attribute_string('upk-gratis-grid'); ?>>
print_render_attribute_string('grid-wrap'); ?>> have_posts()) : $wp_query->the_post(); $thumbnail_size = $settings['primary_thumbnail_size']; $i++; $active_item = ''; if (_is_upk_pro_activated()) { $active_item = apply_filters('gratis_grid_active_item', $this, $i); } ?> render_post_grid_item(get_the_ID(), $thumbnail_size, $active_item); ?>
render_ajax_loadmore(); ?>
get_id()); ?>