芝麻web文件管理V1.00
编辑当前文件:/home/seolotod/critterchoice.com/wp-content/themes/rehub-theme/rehub-elementor/wpsm-simplelist.php
add_control( 'searchtitle', [ 'type' => \Elementor\Controls_Manager::TEXT, 'label' => esc_html__( 'Search by Title', 'rehub-theme' ), 'description' => esc_html__('Set name CURRENTPAGE to show posts with similar title to current page', 'rehub-theme'), 'label_block' => true, ]); $this->add_control( 'aff_link', [ 'type' => \Elementor\Controls_Manager::SWITCHER, 'label' => esc_html__( 'External url instead inner?', 'rehub-theme' ), 'label_on' => esc_html__('Yes', 'rehub-theme'), 'label_off' => esc_html__('No', 'rehub-theme'), 'return_value' => '1', ]); } protected function control_fields() { $this->add_control( 'columns', [ 'type' => \Elementor\Controls_Manager::SELECT, 'label' => esc_html__( 'Show as columns', 'rehub-theme' ), 'options' => [ '1' => esc_html__( '1', 'rehub-theme' ), '2' => esc_html__( '2', 'rehub-theme' ), '3' => esc_html__( '3', 'rehub-theme' ), '4' => esc_html__( '4', 'rehub-theme' ), '5' => esc_html__( '5', 'rehub-theme' ), '6' => esc_html__( '6', 'rehub-theme' ), ], 'label_block' => true, ]); $this->add_control( 'centertext', [ 'type' => \Elementor\Controls_Manager::SWITCHER, 'label' => esc_html__( 'Make center text?', 'rehub-theme' ), 'label_on' => esc_html__('Yes', 'rehub-theme'), 'label_off' => esc_html__('No', 'rehub-theme'), 'return_value' => '1', ]); $this->add_control( 'image', [ 'type' => \Elementor\Controls_Manager::SWITCHER, 'label' => esc_html__( 'Add image?', 'rehub-theme' ), 'label_on' => esc_html__('Yes', 'rehub-theme'), 'label_off' => esc_html__('No', 'rehub-theme'), 'return_value' => '1', ]); $this->add_control( 'center', [ 'type' => \Elementor\Controls_Manager::SWITCHER, 'label' => esc_html__( 'Make center image?', 'rehub-theme' ), 'label_on' => esc_html__('Yes', 'rehub-theme'), 'label_off' => esc_html__('No', 'rehub-theme'), 'condition' => array( 'image' => '1', ), 'return_value' => '1', ]); $this->add_control( 'smoothborder', [ 'type' => \Elementor\Controls_Manager::SWITCHER, 'label' => esc_html__( 'Add smooth border?', 'rehub-theme' ), 'label_on' => esc_html__('Yes', 'rehub-theme'), 'label_off' => esc_html__('No', 'rehub-theme'), 'return_value' => '1', 'condition' => array( 'image' => '1', ), 'selectors' => [ '{{WRAPPER}} .item-small-news figure img' => 'border-radius:6px', '{{WRAPPER}} .item-small-news figure' => 'margin-bottom:13px !important', ], ]); $this->add_control( 'imgshadow', [ 'type' => \Elementor\Controls_Manager::SWITCHER, 'label' => esc_html__( 'Add shadow to image?', 'rehub-theme' ), 'label_on' => esc_html__('Yes', 'rehub-theme'), 'label_off' => esc_html__('No', 'rehub-theme'), 'return_value' => '1', 'condition' => array( 'image' => '1', ), 'selectors' => [ '{{WRAPPER}} .item-small-news figure img' => 'box-shadow:0 2px 2px #f3f3f3', ], ]); $this->add_control( 'fullsizeimage', [ 'type' => \Elementor\Controls_Manager::SWITCHER, 'label' => esc_html__( 'Grid size of image?', 'rehub-theme' ), 'description' => esc_html__( 'Maximum quality but bigger size', 'rehub-theme' ), 'label_on' => esc_html__('Yes', 'rehub-theme'), 'label_off' => esc_html__('No', 'rehub-theme'), 'return_value' => '1', 'condition' => array( 'image' => '1', ), ]); $this->add_responsive_control( 'imageheight', [ 'label' => esc_html__( 'Image height (default is 80px)', 'rehub-theme' ), 'type' => Controls_Manager::NUMBER, 'default' => '', 'condition' => array( 'image' => '1', ), 'selectors' => [ '{{WRAPPER}} .item-small-news figure' => 'height: {{VALUE}}px !important', '{{WRAPPER}} .item-small-news figure img' => 'max-height: {{VALUE}}px !important', ], ] ); $this->add_responsive_control( 'imagewidth', [ 'label' => esc_html__( 'Image width (default is 80px)', 'rehub-theme' ), 'type' => Controls_Manager::NUMBER, 'default' => '', 'condition' => array( 'image' => '1', ), 'selectors' => [ '{{WRAPPER}} .item-small-news figure' => 'width: {{VALUE}}px !important;', '{{WRAPPER}} .item-small-news figure img' => 'max-width: {{VALUE}}px !important', '{{WRAPPER}} .item-small-news .width-80-calc' => 'width: calc(100% - {{VALUE}}px) !important', ], ] ); $this->add_control( 'nometa', [ 'type' => \Elementor\Controls_Manager::SWITCHER, 'label' => esc_html__( 'Disable meta', 'rehub-theme' ), 'label_on' => esc_html__('Yes', 'rehub-theme'), 'label_off' => esc_html__('No', 'rehub-theme'), 'return_value' => '1', ]); $this->add_control( 'priceenable', [ 'type' => \Elementor\Controls_Manager::SWITCHER, 'label' => esc_html__( 'Enable Price', 'rehub-theme' ), 'label_on' => esc_html__('Yes', 'rehub-theme'), 'label_off' => esc_html__('No', 'rehub-theme'), 'return_value' => '1', ]); $this->add_control( 'compareenable', [ 'type' => \Elementor\Controls_Manager::SWITCHER, 'label' => esc_html__( 'Enable Compare button', 'rehub-theme' ), 'label_on' => esc_html__('Yes', 'rehub-theme'), 'label_off' => esc_html__('No', 'rehub-theme'), 'return_value' => '1', ]); $this->add_control( 'hotenable', [ 'type' => \Elementor\Controls_Manager::SWITCHER, 'label' => esc_html__( 'Enable Hot counter', 'rehub-theme' ), 'label_on' => esc_html__('Yes', 'rehub-theme'), 'label_off' => esc_html__('No', 'rehub-theme'), 'return_value' => '1', ]); $this->add_control( 'excerpt', [ 'type' => \Elementor\Controls_Manager::SWITCHER, 'label' => esc_html__( 'Enable excerpt?', 'rehub-theme' ), 'label_on' => esc_html__('Yes', 'rehub-theme'), 'label_off' => esc_html__('No', 'rehub-theme'), 'return_value' => '1', ]); $this->add_control( 'smartscrolllist', array( 'label' => esc_html__( 'Enable smart inline scroll', 'rehub-theme' ), 'type' => \Elementor\Controls_Manager::SWITCHER, 'label_on' => esc_html__( 'Yes', 'rehub-theme' ), 'label_off' => esc_html__( 'No', 'rehub-theme' ), 'return_value' => '1', ) ); $this->add_responsive_control( 'sscrollwidth', [ 'label' => esc_html__( 'Width of item', 'rehub-theme' ), 'type' => Controls_Manager::NUMBER, 'default' => '250', 'condition' => array( 'smartscrolllist' => '1', ), 'selectors' => [ '{{WRAPPER}} .wpsm_recent_posts_list .col_item' => 'min-width: {{VALUE}}px !important; width: {{VALUE}}px !important', ], ] ); $this->add_control( 'desheading', [ 'label' => __( 'Design', 'rehub-theme' ), 'type' => \Elementor\Controls_Manager::HEADING, 'separator' => 'before', ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'listtypography', 'label' => esc_html__( 'Heading Typography', 'rehub-theme' ), 'selector' => '{{WRAPPER}} .item-small-news h3', ] ); $this->add_control( 'headcolor', [ 'label' => esc_html__( 'Heading color', 'rehub-theme' ), 'type' => \Elementor\Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .item-small-news h5 a' => 'color: {{VALUE}};', ], ]); $this->add_control( 'headhovercolor', [ 'label' => esc_html__( 'Heading color on Hover', 'rehub-theme' ), 'type' => \Elementor\Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .item-small-news:hover h5 a' => 'color: {{VALUE}};', ], ]); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'pricetypography', 'label' => esc_html__( 'Price Typography', 'rehub-theme' ), 'selector' => '{{WRAPPER}} .item-small-news .simple_price_count', 'condition' => array( 'priceenable' => '1', ), ] ); $this->add_control( 'pricecolor', [ 'label' => esc_html__( 'Price color', 'rehub-theme' ), 'type' => \Elementor\Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .item-small-news .simple_price_count' => 'color: {{VALUE}};', '{{WRAPPER}} .item-small-news .simple_price_count del' => 'opacity:0.7;', ], 'condition' => array( 'priceenable' => '1', ), ]); $this->add_control( 'pricehovercolor', [ 'label' => esc_html__( 'Price color on Hover', 'rehub-theme' ), 'type' => \Elementor\Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .item-small-news:hover .simple_price_count' => 'color: {{VALUE}};', ], 'condition' => array( 'priceenable' => '1', ), ]); $this->add_control( 'desheading5', [ 'label' => __( 'Border', 'rehub-theme' ), 'type' => \Elementor\Controls_Manager::HEADING, 'separator' => 'before', ] ); $this->add_control( 'border', [ 'type' => \Elementor\Controls_Manager::SWITCHER, 'label' => esc_html__( 'Add border to list items', 'rehub-theme' ), 'label_on' => esc_html__('Yes', 'rehub-theme'), 'label_off' => esc_html__('No', 'rehub-theme'), 'return_value' => '1', ]); $this->add_group_control( \Elementor\Group_Control_Border::get_type(), [ 'name' => 'listborder', 'label' => __( 'Border', 'rehub-theme' ), 'selector' => '{{WRAPPER}} .item-small-news', 'condition' => array( 'border' => '1', ), ] ); $this->add_control( 'list_border_radius', [ 'label' => __( 'Border Radius', 'rehub-theme' ), 'type' => \Elementor\Controls_Manager::DIMENSIONS, 'size_units' => [ 'px', '%' ], 'selectors' => [ '{{WRAPPER}} .item-small-news' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_group_control( \Elementor\Group_Control_Box_Shadow::get_type(), [ 'name' => 'listshadow', 'label' => __( 'Box Shadow', 'rehub-theme' ), 'selector' => '{{WRAPPER}} .item-small-news', 'condition' => array( 'border' => '1', ), ] ); $this->add_control( 'desheading2', [ 'label' => __( 'Borders on Hover', 'rehub-theme' ), 'type' => \Elementor\Controls_Manager::HEADING, 'separator' => 'before', 'condition' => array( 'border' => '1', ), ] ); $this->add_group_control( \Elementor\Group_Control_Border::get_type(), [ 'name' => 'listborderhover', 'label' => __( 'Border on Hover', 'rehub-theme' ), 'selector' => '{{WRAPPER}} .item-small-news:hover', 'condition' => array( 'border' => '1', ), ] ); $this->add_group_control( \Elementor\Group_Control_Box_Shadow::get_type(), [ 'name' => 'listshadowhover', 'label' => __( 'Box Shadow on Hover', 'rehub-theme' ), 'selector' => '{{WRAPPER}} .item-small-news:hover', 'condition' => array( 'border' => '1', ), ] ); $this->add_control( 'desheading3', [ 'label' => __( 'Background', 'rehub-theme' ), 'type' => \Elementor\Controls_Manager::HEADING, 'separator' => 'before', ] ); $this->add_control( 'bgcolor', [ 'label' => esc_html__( 'Background color', 'rehub-theme' ), 'type' => \Elementor\Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .item-small-news' => 'background-color: {{VALUE}};', ], ]); $this->add_control( 'bgcolorhover', [ 'label' => esc_html__( 'Background color on Hover', 'rehub-theme' ), 'type' => \Elementor\Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .item-small-news:hover' => 'background-color: {{VALUE}};', ], ]); $this->add_control( 'desheading4', [ 'label' => __( 'Spacing', 'rehub-theme' ), 'type' => \Elementor\Controls_Manager::HEADING, 'separator' => 'before', ] ); $this->add_control( 'list_padding', [ 'label' => __( 'Padding', 'rehub-theme' ), 'type' => \Elementor\Controls_Manager::DIMENSIONS, 'size_units' => [ 'px', '%' ], 'selectors' => [ '{{WRAPPER}} .item-small-news' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}} !important;', ], ] ); $this->add_control( 'mborder', [ 'label' => esc_html__( 'Margin in bottom', 'rehub-theme' ), 'type' => Controls_Manager::NUMBER, 'default' => '', 'selectors' => [ '{{WRAPPER}} .wpsm_recent_posts_list .col_item' => 'margin-bottom: {{VALUE}}px !important', ], ] ); } protected function rehub_filter_values( $haystack ) { foreach ( $haystack as $key => $value ) { if ( is_array( $value ) ) { $haystack[ $key ] = $this->rehub_filter_values( $haystack[ $key ]); } if ( empty( $haystack[ $key ] ) ) { unset( $haystack[ $key ] ); } } return $haystack; } /* Widget output Rendering */ protected function render() { $settings = $this->get_settings_for_display(); if ( is_array( $settings['filterpanel'] ) ) { $settings['filterpanel'] = $this->rehub_filter_values( $settings['filterpanel'] ); $settings['filterpanel'] = rawurlencode( json_encode( $settings['filterpanel'] ) ); } // print_r($settings); $this->normalize_arrays( $settings ); $this->render_custom_js(); echo recent_posts_function( $settings ); } } Plugin::instance()->widgets_manager->register( new Widget_Wpsm_Recent_Posts_List );