Willkommen bei WordPress. Dies ist dein erster Beitrag. Bearbeite oder lösche ihn und beginne mit dem Schreiben!
Hallo Welt!
von raredesign | Dez 3, 2019 | Allgemein | 0 Kommentare
Cokiee Shell
Current Path : /var/www/web28/html/wp-content/plugins/fusion-builder/shortcodes/ |
Current File : //var/www/web28/html/wp-content/plugins/fusion-builder/shortcodes/fusion-woo-product-slider.php |
<?php /** * Add an element to fusion-builder. * * @package fusion-builder * @since 1.0 */ if ( fusion_is_element_enabled( 'fusion_products_slider' ) && class_exists( 'WooCommerce' ) ) { if ( ! class_exists( 'FusionSC_WooProductSlider' ) ) { /** * Shortcode class. * * @since 1.0 */ class FusionSC_WooProductSlider extends Fusion_Element { /** * Constructor. * * @access public * @since 1.0 */ public function __construct() { parent::__construct(); add_filter( 'fusion_attr_woo-product-slider-shortcode', [ $this, 'attr' ] ); add_filter( 'fusion_attr_woo-product-slider-shortcode-carousel', [ $this, 'carousel_attr' ] ); add_filter( 'fusion_attr_woo-product-slider-shortcode-img-div', [ $this, 'img_div_attr' ] ); add_shortcode( 'fusion_products_slider', [ $this, 'render' ] ); // Ajax mechanism for query related part. add_action( 'wp_ajax_get_fusion_products', [ $this, 'ajax_query' ] ); } /** * Gets the default values. * * @static * @access public * @since 2.0.0 * @return array */ public static function get_element_defaults() { return [ 'margin_top' => '', 'margin_right' => '', 'margin_bottom' => '', 'margin_left' => '', 'hide_on_mobile' => fusion_builder_default_visibility( 'string' ), 'class' => '', 'id' => '', 'autoplay' => 'no', 'carousel_layout' => 'title_on_rollover', 'cat_slug' => '', 'columns' => '5', 'column_spacing' => '13', 'mouse_scroll' => 'no', 'number_posts' => 10, 'offset' => '', 'order' => 'DESC', 'orderby' => 'date', 'out_of_stock' => 'include', 'picture_size' => 'fixed', 'scroll_items' => '', 'show_buttons' => 'yes', 'show_cats' => 'yes', 'show_nav' => 'yes', 'show_price' => 'yes', 'show_sale' => 'no', ]; } /** * Used to set any other variables for use on front-end editor template. * * @static * @access public * @since 2.0.0 * @return array */ public static function get_element_extras() { $fusion_settings = awb_get_fusion_settings(); return [ 'box_design' => $fusion_settings->get( 'woocommerce_product_box_design', false, 'classic' ), ]; } /** * Maps settings to extra variables. * * @static * @access public * @since 2.0.0 * @return array */ public static function settings_to_extras() { return [ 'woocommerce_product_box_design' => 'box_design', ]; } /** * Gets the query data. * * @static * @access public * @since 2.0.0 * @param array $defaults An array of defaults. * @return void */ public function ajax_query( $defaults ) { check_ajax_referer( 'fusion_load_nonce', 'fusion_load_nonce' ); $this->query( $defaults ); } /** * Gets the query data. * * @static * @access public * @since 2.0.0 * @param array $defaults The default args. * @return array|Object */ public function query( $defaults ) { global $avada_woocommerce; $live_request = false; // From Ajax Request. if ( isset( $_POST['model'] ) && ! apply_filters( 'fusion_builder_live_request', false ) ) { // phpcs:ignore WordPress.Security.NonceVerification $defaults = wp_unslash( $_POST['model']['params'] ); // phpcs:ignore WordPress.Security $return_data = []; $live_request = true; add_filter( 'fusion_builder_live_request', '__return_true' ); } $number_posts = (int) $defaults['number_posts']; if ( '0' == $defaults['offset'] ) { // phpcs:ignore Universal.Operators.StrictComparisons $defaults['offset'] = ''; } $args = [ 'post_type' => 'product', 'posts_per_page' => $number_posts, 'meta_query' => [ [ 'key' => '_thumbnail_id', 'compare' => '!=', 'value' => null, ], ], ]; remove_filter( 'woocommerce_get_catalog_ordering_args', [ $avada_woocommerce, 'get_catalog_ordering_args' ], 20 ); $ordering_args = WC()->query->get_catalog_ordering_args( $defaults['orderby'], $defaults['order'] ); add_filter( 'woocommerce_get_catalog_ordering_args', [ $avada_woocommerce, 'get_catalog_ordering_args' ], 20 ); $args['orderby'] = $ordering_args['orderby']; $args['order'] = $ordering_args['order']; if ( $ordering_args['meta_key'] ) { $args['meta_key'] = $ordering_args['meta_key']; // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_meta_key } // If out of stock are set not to show, hide them. if ( 'exclude' === $defaults['out_of_stock'] ) { $args['meta_query'][] = [ 'key' => '_stock_status', 'value' => 'outofstock', 'compare' => 'NOT IN', ]; } if ( '' !== $defaults['offset'] ) { $args['offset'] = $defaults['offset']; } if ( '' !== $defaults['cat_slug'] && $defaults['cat_slug'] ) { $cat_id = $defaults['cat_slug']; if ( false !== strpos( $defaults['cat_slug'], ',' ) ) { $cat_id = explode( ',', $defaults['cat_slug'] ); } elseif ( false !== strpos( $defaults['cat_slug'], '|' ) ) { $cat_id = explode( '|', $defaults['cat_slug'] ); } $args['tax_query'] = [ [ 'taxonomy' => 'product_cat', 'field' => 'slug', 'terms' => $cat_id, ], ]; } $args['tax_query']['relation'] = 'AND'; $args['tax_query'][] = [ 'taxonomy' => 'product_visibility', 'field' => 'slug', 'terms' => [ 'exclude-from-catalog', 'exclude-from-search' ], 'operator' => 'NOT IN', ]; // Ajax returns protected posts, but we just want published. if ( $live_request ) { $args['post_status'] = 'publish'; } $products = fusion_cached_query( $args ); fusion_library()->woocommerce->remove_post_clauses( $args['orderby'], $args['order'] ); if ( ! $live_request ) { return $products; } if ( ! $products->have_posts() ) { $return_data['placeholder'] = fusion_builder_placeholder( 'product', 'products' ); echo wp_json_encode( $return_data ); wp_die(); } $return_data['items_in_cart'] = fusion_library()->woocommerce->get_cart_products_ids(); if ( $products->have_posts() ) { while ( $products->have_posts() ) { $products->the_post(); $featured_image_sizes = [ 'portfolio-five', 'full' ]; $image_data = fusion_get_image_data( get_the_ID(), $featured_image_sizes, get_permalink( get_the_ID() ) ); ob_start(); wc_get_template( 'loop/price.php' ); $price = ob_get_clean(); $return_data['products'][] = [ 'permalink' => get_permalink( get_the_ID() ), 'title' => get_the_title(), 'terms' => get_the_term_list( get_the_ID(), 'product_cat', '', ', ', '' ), 'price' => $price, 'image_data' => $image_data, ]; } } echo wp_json_encode( $return_data ); wp_die(); } /** * Render the shortcode. * * @access public * @since 1.0 * @param array $args Shortcode parameters. * @param string $content Content between shortcode. * @return string HTML output */ public function render( $args, $content = '' ) { $fusion_settings = awb_get_fusion_settings(); $this->defaults = self::get_element_defaults(); $defaults = FusionBuilder::set_shortcode_defaults( $this->defaults, $args, 'fusion_products_slider' ); $defaults['column_spacing'] = FusionBuilder::validate_shortcode_attr_value( $defaults['column_spacing'], '' ); ( 'yes' === $defaults['show_cats'] ) ? ( $defaults['show_cats'] = 'enable' ) : ( $defaults['show_cats'] = 'disable' ); ( 'yes' === $defaults['show_price'] ) ? ( $defaults['show_price'] = true ) : ( $defaults['show_price'] = false ); ( 'yes' === $defaults['show_buttons'] ) ? ( $defaults['show_buttons'] = true ) : ( $defaults['show_buttons'] = false ); ( 'yes' === $defaults['show_sale'] ) ? ( $defaults['show_sale'] = true ) : ( $defaults['show_sale'] = false ); $html = ''; $buttons = ''; if ( class_exists( 'Woocommerce' ) ) { $design_class = 'fusion-' . $fusion_settings->get( 'woocommerce_product_box_design', false, 'classic' ) . '-product-image-wrapper'; $products = $this->query( $defaults ); $this->args = $defaults; $this->args['margin_bottom'] = FusionBuilder::validate_shortcode_attr_value( $this->args['margin_bottom'], 'px' ); $this->args['margin_left'] = FusionBuilder::validate_shortcode_attr_value( $this->args['margin_left'], 'px' ); $this->args['margin_right'] = FusionBuilder::validate_shortcode_attr_value( $this->args['margin_right'], 'px' ); $this->args['margin_top'] = FusionBuilder::validate_shortcode_attr_value( $this->args['margin_top'], 'px' ); $featured_image_size = 'full'; if ( 'fixed' === $this->args['picture_size'] ) { $featured_image_size = 'portfolio-five'; } if ( ! $products->have_posts() ) { return fusion_builder_placeholder( 'product', 'products' ); } $product_list = ''; if ( $products->have_posts() ) { while ( $products->have_posts() ) { $products->the_post(); $id = get_the_ID(); $in_cart = fusion_library()->woocommerce->is_product_in_cart( $id ); $image = $price_tag = $terms = ''; if ( 'auto' === $this->args['picture_size'] ) { fusion_library()->images->set_grid_image_meta( [ 'layout' => 'grid', 'columns' => $this->args['columns'], 'gutter_width' => $this->args['column_spacing'], ] ); } $image_args = [ 'post_id' => get_the_ID(), 'post_featured_image_size' => $featured_image_size, 'post_permalink' => get_permalink( get_the_ID() ), 'display_placeholder_image' => true, 'display_woo_outofstock' => 'include' === $this->args['out_of_stock'] ? true : false, 'display_woo_sale' => $this->args['show_sale'], ]; // Title on rollover layout. if ( 'title_on_rollover' === $this->args['carousel_layout'] ) { $image_args['display_woo_price'] = $this->args['show_price']; $image_args['display_woo_buttons'] = $this->args['show_buttons']; $image_args['display_post_categories'] = $this->args['show_cats']; $image = avada_first_featured_image_markup( $image_args ); // Title below image layout. } else { $image_args['display_woo_price'] = false; $image_args['display_woo_buttons'] = $this->args['show_buttons']; $image_args['display_post_categories'] = 'disable'; $image_args['display_post_title'] = 'disable'; if ( true === $this->args['show_buttons'] ) { $image .= avada_first_featured_image_markup( $image_args ); } else { $image_args['display_rollover'] = 'no'; $image .= avada_first_featured_image_markup( $image_args ); } // Get the post title. $image .= '<h4 ' . FusionBuilder::attributes( 'fusion-carousel-title product-title' ) . '><a href="' . get_permalink( get_the_ID() ) . '" target="_self">' . get_the_title() . '</a></h4>'; $image .= '<div class="fusion-carousel-meta">'; // Get the terms. if ( 'enable' === $this->args['show_cats'] ) { $image .= get_the_term_list( get_the_ID(), 'product_cat', '', ', ', '' ); } // Check if we should render the woo product price. if ( $this->args['show_price'] ) { ob_start(); do_action( 'fusion_woocommerce_after_shop_loop_item' ); $image .= ob_get_clean(); ob_start(); wc_get_template( 'loop/price.php' ); $image .= '<div class="fusion-carousel-price">' . ob_get_clean() . '</div>'; } $image .= '</div>'; } if ( 'auto' === $this->args['picture_size'] ) { fusion_library()->images->set_grid_image_meta( [] ); } else { // Disable quick view. $image = preg_replace( '/\<a href="#fusion-quick-view" (.*?)\<\/a\>/s', '', $image ); $image = str_replace( ' fusion-has-quick-view', '', $image ); } if ( $in_cart ) { $product_list .= '<div ' . FusionBuilder::attributes( 'swiper-slide' ) . '><div class="' . $design_class . ' fusion-item-in-cart"><div ' . FusionBuilder::attributes( 'fusion-carousel-item-wrapper' ) . '>' . $image . '</div></div></div>'; } else { $product_list .= '<div ' . FusionBuilder::attributes( 'swiper-slide' ) . '><div class="' . $design_class . '"><div ' . FusionBuilder::attributes( 'fusion-carousel-item-wrapper' ) . '>' . $image . '</div></div></div>'; } } } wp_reset_query(); $html = '<div ' . FusionBuilder::attributes( 'woo-product-slider-shortcode' ) . '>'; $html .= '<div ' . FusionBuilder::attributes( 'woo-product-slider-shortcode-carousel' ) . '>'; $html .= '<div ' . FusionBuilder::attributes( 'swiper-wrapper' ) . '>'; $html .= $product_list; $html .= '</div>'; // Check if navigation should be shown. if ( 'yes' === $this->args['show_nav'] ) { $html .= awb_get_carousel_nav(); } $html .= '</div>'; $html .= '</div>'; } $this->on_render(); return apply_filters( 'fusion_element_products_slider_content', $html, $args ); } /** * Builds the attributes array. * * @access public * @since 1.0 * @return array */ public function attr() { $attr = fusion_builder_visibility_atts( $this->args['hide_on_mobile'], [ 'class' => 'fusion-woo-product-slider fusion-woo-slider', 'style' => '', ] ); $attr['style'] .= $this->get_style_variables(); if ( $this->args['class'] ) { $attr['class'] .= ' ' . $this->args['class']; } if ( $this->args['id'] ) { $attr['id'] = $this->args['id']; } return $attr; } /** * Get the style variables. * * @access protected * @since 3.9 * @return string */ public function get_style_variables() { $css_vars_options = [ 'margin_top' => [ 'callback' => [ 'Fusion_Sanitize', 'get_value_with_unit' ] ], 'margin_right' => [ 'callback' => [ 'Fusion_Sanitize', 'get_value_with_unit' ] ], 'margin_bottom' => [ 'callback' => [ 'Fusion_Sanitize', 'get_value_with_unit' ] ], 'margin_left' => [ 'callback' => [ 'Fusion_Sanitize', 'get_value_with_unit' ] ], ]; return $this->get_css_vars_for_options( $css_vars_options ); } /** * Get the carousel style variables. * * @access protected * @since 3.9 * @return string */ public function get_carousel_style_variables() { $css_vars_options = [ 'columns', 'column_spacing' => [ 'callback' => [ 'Fusion_Sanitize', 'get_value_with_unit' ] ], ]; return $this->get_css_vars_for_options( $css_vars_options ); } /** * Builds the carousel attributes. * * @access public * @since 1.0 * @return array */ public function carousel_attr() { $attr = [ 'class' => 'awb-carousel awb-swiper awb-swiper-carousel', 'style' => $this->get_carousel_style_variables(), ]; if ( 'title_below_image' === $this->args['carousel_layout'] ) { $attr['class'] .= ' fusion-carousel-title-below-image'; $attr['data-metacontent'] = 'yes'; } else { $attr['class'] .= ' fusion-carousel-title-on-rollover'; } $attr['data-autoplay'] = $this->args['autoplay']; $attr['data-columns'] = $this->args['columns']; $attr['data-itemmargin'] = $this->args['column_spacing']; $attr['data-itemwidth'] = 180; $attr['data-touchscroll'] = $this->args['mouse_scroll']; $attr['data-imagesize'] = $this->args['picture_size']; $attr['data-scrollitems'] = $this->args['scroll_items']; return $attr; } /** * Sets the necessary scripts. * * @access public * @since 3.2 * @return void */ public function on_first_render() { Fusion_Dynamic_JS::enqueue_script( 'awb-carousel' ); } /** * Load base CSS. * * @access public * @since 3.0 * @return void */ public function add_css_files() { FusionBuilder()->add_element_css( FUSION_BUILDER_PLUGIN_DIR . 'assets/css/shortcodes/woo-product-slider.min.css' ); FusionBuilder()->add_element_css( FUSION_BUILDER_PLUGIN_DIR . 'assets/css/shortcodes/image-carousel.min.css' ); } } } new FusionSC_WooProductSlider(); } /** * Map shortcode to Avada Builder. */ function fusion_element_products_slider() { if ( class_exists( 'WooCommerce' ) ) { $lookup_table_link = admin_url( 'admin.php?page=wc-status&tab=tools' ); $builder_status = function_exists( 'is_fusion_editor' ) && is_fusion_editor(); $product_cat = $builder_status ? fusion_builder_shortcodes_categories( 'product_cat', false, false, 26 ) : []; $cat_include = [ 'type' => 'multiple_select', 'heading' => esc_attr__( 'Categories', 'fusion-builder' ), 'placeholder' => esc_attr__( 'Categories', 'fusion-builder' ), 'description' => esc_attr__( 'Select a category or leave blank for all.', 'fusion-builder' ), 'param_name' => 'cat_slug', 'value' => $product_cat, 'default' => '', 'callback' => [ 'function' => 'fusion_ajax', 'action' => 'get_fusion_products', 'ajax' => true, ], ]; if ( count( $product_cat ) > 25 ) { $cat_include['type'] = 'ajax_select'; $cat_include['ajax'] = 'fusion_search_query'; $cat_include['value'] = []; $cat_include['ajax_params'] = [ 'taxonomy' => 'product_cat', 'use_slugs' => true, ]; } fusion_builder_map( fusion_builder_frontend_data( 'FusionSC_WooProductSlider', [ 'name' => esc_attr__( 'Woo Product Carousel', 'fusion-builder' ), 'shortcode' => 'fusion_products_slider', 'icon' => 'fusiona-tag', 'help_url' => 'https://avada.com/documentation/woocommerce-product-carousel-element/', 'params' => [ [ 'type' => 'radio_button_set', 'heading' => esc_attr__( 'Picture Size', 'fusion-builder' ), 'description' => __( 'fixed = width and height will be fixed <br />auto = width and height will adjust to the image.', 'fusion-builder' ), 'param_name' => 'picture_size', 'value' => [ 'fixed' => esc_attr__( 'Fixed', 'fusion-builder' ), 'auto' => esc_attr__( 'Auto', 'fusion-builder' ), ], 'default' => 'fixed', ], $cat_include, [ 'type' => 'range', 'heading' => esc_attr__( 'Number of Products', 'fusion-builder' ), 'description' => esc_attr__( 'Select the number of products to display.', 'fusion-builder' ), 'param_name' => 'number_posts', 'value' => '5', 'min' => '0', 'max' => '25', 'step' => '1', 'callback' => [ 'function' => 'fusion_ajax', 'action' => 'get_fusion_products', 'ajax' => true, ], ], [ 'type' => 'range', 'heading' => esc_attr__( 'Product Offset', 'fusion-builder' ), 'description' => esc_attr__( 'The number of products to skip. ex: 1.', 'fusion-builder' ), 'param_name' => 'offset', 'value' => '0', 'min' => '0', 'max' => '25', 'step' => '1', 'callback' => [ 'function' => 'fusion_ajax', 'action' => 'get_fusion_products', 'ajax' => true, ], ], [ 'type' => 'select', 'heading' => esc_attr__( 'Order By', 'fusion-builder' ), /* translators: The link. */ 'description' => sprintf( __( 'Defines how products should be ordered. NOTE: If Order by Price is not working, please regenerate the Product Lookup Tables <a href="%s" target="_blank">here</a>.' ), $lookup_table_link ), 'param_name' => 'orderby', 'default' => 'date', 'value' => [ 'date' => esc_attr__( 'Date', 'fusion-builder' ), 'title' => esc_attr__( 'Title', 'fusion-builder' ), 'rand' => esc_attr__( 'Random', 'fusion-builder' ), 'id' => esc_attr__( 'ID', 'fusion-builder' ), 'price' => esc_attr__( 'Price', 'fusion-builder' ), 'popularity' => esc_attr__( 'Popularity (sales)', 'fusion-builder' ), 'rating' => esc_attr__( 'Average Rating', 'fusion-builder' ), ], 'callback' => [ 'function' => 'fusion_ajax', 'action' => 'get_fusion_products', 'ajax' => true, ], ], [ 'type' => 'radio_button_set', 'heading' => esc_attr__( 'Order', 'fusion-builder' ), 'description' => esc_attr__( 'Defines the sorting order of products.', 'fusion-builder' ), 'param_name' => 'order', 'default' => 'DESC', 'value' => [ 'DESC' => esc_attr__( 'Descending', 'fusion-builder' ), 'ASC' => esc_attr__( 'Ascending', 'fusion-builder' ), ], 'dependency' => [ [ 'element' => 'orderby', 'value' => 'rand', 'operator' => '!=', ], ], 'callback' => [ 'function' => 'fusion_ajax', 'action' => 'get_fusion_products', 'ajax' => true, ], ], [ 'type' => 'radio_button_set', 'heading' => esc_attr__( 'Include Out Of Stock Products', 'fusion-builder' ), 'description' => esc_attr__( 'Choose to include or exclude products which are out of stock.', 'fusion-builder' ), 'param_name' => 'out_of_stock', 'value' => [ 'include' => esc_attr__( 'Include', 'fusion-builder' ), 'exclude' => esc_attr__( 'Exclude', 'fusion-builder' ), ], 'default' => 'include', 'callback' => [ 'function' => 'fusion_ajax', 'action' => 'get_fusion_products', 'ajax' => true, ], ], [ 'type' => 'radio_button_set', 'heading' => esc_attr__( 'Carousel Layout', 'fusion-builder' ), 'description' => esc_attr__( 'Choose to show titles on rollover image, or below image.', 'fusion-builder' ), 'param_name' => 'carousel_layout', 'value' => [ 'title_on_rollover' => esc_attr__( 'Title on rollover', 'fusion-builder' ), 'title_below_image' => esc_attr__( 'Title below image', 'fusion-builder' ), ], 'default' => 'title_on_rollover', ], [ 'type' => 'radio_button_set', 'heading' => esc_attr__( 'Carousel Autoplay', 'fusion-builder' ), 'description' => esc_attr__( 'Choose to autoplay the carousel.', 'fusion-builder' ), 'param_name' => 'autoplay', 'value' => [ 'yes' => esc_attr__( 'Yes', 'fusion-builder' ), 'no' => esc_attr__( 'No', 'fusion-builder' ), ], 'default' => 'no', ], [ 'type' => 'range', 'heading' => esc_attr__( 'Maximum Columns', 'fusion-builder' ), 'description' => esc_attr__( 'Select the number of max columns to display.', 'fusion-builder' ), 'param_name' => 'columns', 'value' => '5', 'min' => '1', 'max' => '6', 'step' => '1', ], [ 'type' => 'range', 'heading' => esc_attr__( 'Column Spacing', 'fusion-builder' ), 'description' => esc_attr__( "Insert the amount of spacing between items without 'px'. ex: 13.", 'fusion-builder' ), 'param_name' => 'column_spacing', 'value' => '13', 'min' => '1', 'max' => '100', 'step' => '1', ], [ 'type' => 'textfield', 'heading' => esc_attr__( 'Scroll Items', 'fusion-builder' ), 'description' => esc_attr__( 'Insert the amount of items to scroll. Leave empty to scroll number of visible items.', 'fusion-builder' ), 'param_name' => 'scroll_items', 'value' => '', ], [ 'type' => 'radio_button_set', 'heading' => esc_attr__( 'Show Navigation', 'fusion-builder' ), 'description' => esc_attr__( 'Choose to show navigation buttons on the carousel.', 'fusion-builder' ), 'param_name' => 'show_nav', 'value' => [ 'yes' => esc_attr__( 'Yes', 'fusion-builder' ), 'no' => esc_attr__( 'No', 'fusion-builder' ), ], 'default' => 'yes', ], [ 'type' => 'radio_button_set', 'heading' => esc_attr__( 'Mouse Scroll', 'fusion-builder' ), 'description' => esc_attr__( 'Choose to enable mouse drag control on the carousel. IMPORTANT: For easy draggability, when mouse scroll is activated, links will be disabled.', 'fusion-builder' ), 'param_name' => 'mouse_scroll', 'value' => [ 'yes' => esc_attr__( 'Yes', 'fusion-builder' ), 'no' => esc_attr__( 'No', 'fusion-builder' ), ], 'default' => 'no', ], [ 'type' => 'radio_button_set', 'heading' => esc_attr__( 'Show Categories', 'fusion-builder' ), 'description' => esc_attr__( 'Choose to show or hide the categories.', 'fusion-builder' ), 'param_name' => 'show_cats', 'value' => [ 'yes' => esc_attr__( 'Yes', 'fusion-builder' ), 'no' => esc_attr__( 'No', 'fusion-builder' ), ], 'default' => 'yes', ], [ 'type' => 'radio_button_set', 'heading' => esc_attr__( 'Show Price', 'fusion-builder' ), 'description' => esc_attr__( 'Choose to show or hide the price.', 'fusion-builder' ), 'param_name' => 'show_price', 'value' => [ 'yes' => esc_attr__( 'Yes', 'fusion-builder' ), 'no' => esc_attr__( 'No', 'fusion-builder' ), ], 'default' => 'yes', ], [ 'type' => 'radio_button_set', 'heading' => esc_attr__( 'Show Sale Badge', 'fusion-builder' ), 'description' => esc_attr__( 'Choose to show or hide the sale badge.', 'fusion-builder' ), 'param_name' => 'show_sale', 'value' => [ 'yes' => esc_attr__( 'Yes', 'fusion-builder' ), 'no' => esc_attr__( 'No', 'fusion-builder' ), ], 'default' => 'no', ], [ 'type' => 'radio_button_set', 'heading' => esc_attr__( 'Show Buttons', 'fusion-builder' ), 'description' => esc_attr__( 'Choose to show or hide Add to Cart / Details buttons on the rollover.', 'fusion-builder' ), 'param_name' => 'show_buttons', 'value' => [ 'yes' => esc_attr__( 'Yes', 'fusion-builder' ), 'no' => esc_attr__( 'No', 'fusion-builder' ), ], 'default' => 'yes', ], 'fusion_margin_placeholder' => [ 'param_name' => 'margin', 'group' => esc_attr__( 'General', 'fusion-builder' ), 'value' => [ 'margin_top' => '', 'margin_right' => '', 'margin_bottom' => '', 'margin_left' => '', ], ], [ 'type' => 'checkbox_button_set', 'heading' => esc_attr__( 'Element Visibility', 'fusion-builder' ), 'param_name' => 'hide_on_mobile', 'value' => fusion_builder_visibility_options( 'full' ), 'default' => fusion_builder_default_visibility( 'array' ), 'description' => esc_attr__( 'Choose to show or hide the element on small, medium or large screens. You can choose more than one at a time.', 'fusion-builder' ), ], [ 'type' => 'textfield', 'heading' => esc_attr__( 'CSS Class', 'fusion-builder' ), 'description' => esc_attr__( 'Add a class to the wrapping HTML element.', 'fusion-builder' ), 'param_name' => 'class', 'value' => '', 'group' => esc_attr__( 'General', 'fusion-builder' ), ], [ 'type' => 'textfield', 'heading' => esc_attr__( 'CSS ID', 'fusion-builder' ), 'description' => esc_attr__( 'Add an ID to the wrapping HTML element.', 'fusion-builder' ), 'param_name' => 'id', 'value' => '', 'group' => esc_attr__( 'General', 'fusion-builder' ), ], ], 'callback' => [ 'function' => 'fusion_ajax', 'action' => 'get_fusion_products', 'ajax' => true, ], ] ) ); } } add_action( 'fusion_builder_wp_loaded', 'fusion_element_products_slider' );
Cokiee Shell Web 1.0, Coded By Razor
Neueste Kommentare