2234 lines
77 KiB
PHP
2234 lines
77 KiB
PHP
<?php
|
|
/**
|
|
* Add an element to fusion-builder.
|
|
*
|
|
* @package fusion-builder
|
|
* @since 3.3
|
|
*/
|
|
|
|
if ( fusion_is_element_enabled( 'fusion_post_cards' ) ) {
|
|
|
|
if ( fusion_is_element_enabled( 'fusion_tb_post_card_archives' ) ) {
|
|
|
|
if ( ! class_exists( 'FusionTB_Post_Card_Archives' ) ) {
|
|
/**
|
|
* Shortcode class.
|
|
*
|
|
* @since 3.3
|
|
*/
|
|
class FusionTB_Post_Card_Archives extends Fusion_Component {
|
|
|
|
/**
|
|
* The element counter.
|
|
*
|
|
* @access private
|
|
* @since 3.11.10
|
|
* @var int
|
|
*/
|
|
private $element_counter = 1;
|
|
|
|
/**
|
|
* Flag to indicate are we on archive page.
|
|
*
|
|
* @access protected
|
|
* @since 3.3
|
|
* @var bool
|
|
*/
|
|
protected $is_archive = false;
|
|
|
|
/**
|
|
* Holds the main vars of the origina $wp_query.
|
|
*
|
|
* @access protected
|
|
* @since 3.11.10
|
|
* @var array
|
|
*/
|
|
protected $original_query_vars = [];
|
|
|
|
/**
|
|
* Constructor.
|
|
*
|
|
* @access public
|
|
* @since 3.3
|
|
*/
|
|
public function __construct() {
|
|
parent::__construct( 'fusion_tb_post_card_archives' );
|
|
|
|
// Ajax mechanism for query related part.
|
|
add_action( "wp_ajax_get_{$this->shortcode_handle}", [ $this, 'ajax_query' ] );
|
|
|
|
add_filter( 'fusion_tb_component_check', [ $this, 'component_check' ] );
|
|
|
|
add_action( 'pre_get_posts', [ $this, 'alter_search_loop' ] );
|
|
|
|
add_filter( "fusion_attr_{$this->shortcode_handle}", [ $this, 'attr' ] );
|
|
|
|
add_action( 'wp', [ $this, 'set_is_archive' ] );
|
|
}
|
|
|
|
/**
|
|
* Check if we're on archive page.
|
|
* Needs done early, before global query is changed.
|
|
*
|
|
* @access public
|
|
* @since 3.3
|
|
* @return void
|
|
*/
|
|
public function set_is_archive() {
|
|
$this->is_archive = is_search() || is_archive() || isset( $_GET['awb-studio-content'] ); // phpcs:ignore WordPress.Security.NonceVerification
|
|
}
|
|
|
|
/**
|
|
* Check if component should render
|
|
*
|
|
* @access public
|
|
* @since 3.3
|
|
* @return boolean
|
|
*/
|
|
public function should_render() {
|
|
return $this->is_archive;
|
|
}
|
|
|
|
/**
|
|
* Checks and returns post type for archives component.
|
|
*
|
|
* @since 3.3
|
|
* @access public
|
|
* @param array $defaults current params array.
|
|
* @return array $defaults Updated params array.
|
|
*/
|
|
public function archives_type( $defaults ) {
|
|
$defaults = Fusion_Template_Builder()->archives_type( $defaults );
|
|
|
|
// Check for taxonomy type.
|
|
return Fusion_Template_Builder()->taxonomy_type( $defaults );
|
|
}
|
|
|
|
/**
|
|
* Gets the query data.
|
|
*
|
|
* @static
|
|
* @access public
|
|
* @since 3.3
|
|
* @param array $defaults An array of defaults.
|
|
* @return void
|
|
*/
|
|
public function ajax_query( $defaults ) {
|
|
check_ajax_referer( 'fusion_load_nonce', 'fusion_load_nonce' );
|
|
|
|
$type = 'archives';
|
|
if ( isset( $_POST['fusion_meta'] ) && isset( $_POST['post_id'] ) ) {
|
|
$meta = fusion_string_to_array( $_POST['fusion_meta'] ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput
|
|
$type = ! isset( $meta['_fusion']['dynamic_content_preview_type'] ) || in_array( $meta['_fusion']['dynamic_content_preview_type'], [ 'search', 'archives' ], true ) ? $meta['_fusion']['dynamic_content_preview_type'] : $type;
|
|
}
|
|
|
|
add_filter( 'fusion_post_cards_shortcode_query_args', [ $this, 'archives_type' ] );
|
|
do_action( 'wp_ajax_get_fusion_post_cards', $defaults );
|
|
}
|
|
|
|
/**
|
|
* Gets the default values.
|
|
*
|
|
* @static
|
|
* @access public
|
|
* @since 3.3
|
|
* @return array
|
|
*/
|
|
public static function get_element_defaults() {
|
|
global $post;
|
|
|
|
$defaults = FusionSC_PostCards::get_element_defaults();
|
|
|
|
$defaults['post_type'] = get_post_type( $post );
|
|
|
|
return $defaults;
|
|
}
|
|
|
|
/**
|
|
* Used to set any other variables for use on front-end editor template.
|
|
*
|
|
* @static
|
|
* @access public
|
|
* @since 3.3
|
|
* @return array
|
|
*/
|
|
public static function get_element_extras() {
|
|
return FusionSC_PostCards::get_element_extras();
|
|
}
|
|
|
|
/**
|
|
* Renders fusion post cards shortcode
|
|
*
|
|
* @access public
|
|
* @since 3.3
|
|
* @return string
|
|
*/
|
|
public function render_card() {
|
|
global $shortcode_tags;
|
|
|
|
$this->args['post_card_archives'] = true;
|
|
|
|
if ( 'terms' === $this->args['source'] ) {
|
|
$queried = get_queried_object();
|
|
$this->args['post_card_archives'] = false;
|
|
if ( 'WP_Term' === get_class( $queried ) ) {
|
|
$terms = get_terms(
|
|
[
|
|
'taxonomy' => $queried->taxonomy,
|
|
'hide_empty' => false,
|
|
'parent' => $queried->term_id,
|
|
'fields' => 'ids',
|
|
'number' => max( (int) $this->args['number_posts'], 0 ),
|
|
'orderby' => 'menu_order',
|
|
]
|
|
);
|
|
|
|
if ( ! empty( $terms ) && ! is_wp_error( $terms ) ) {
|
|
$this->args['parent_term'] = $queried->term_id;
|
|
$this->args['include_term_' . $queried->taxonomy ] = implode( ',', $terms );
|
|
$this->args['orderby_term'] = 'menu_order';
|
|
$this->args = wp_parse_args(
|
|
[
|
|
'terms_by' => $queried->taxonomy,
|
|
],
|
|
$this->args
|
|
);
|
|
}
|
|
}
|
|
}
|
|
|
|
return call_user_func( $shortcode_tags['fusion_post_cards'], $this->args, '', 'fusion_post_cards' );
|
|
}
|
|
|
|
/**
|
|
* Filters the current query
|
|
*
|
|
* @access public
|
|
* @since 3.3
|
|
* @param array $query The query.
|
|
* @return array
|
|
*/
|
|
public function fusion_post_cards_shortcode_query_override( $query ) {
|
|
global $wp_query;
|
|
|
|
// If post card display = terms then don't override the query.
|
|
if ( 'terms' === $this->args['source'] ) {
|
|
return $query;
|
|
}
|
|
|
|
// If there is several Post Card Archives elements.
|
|
if ( ! empty( $wp_query->get( 'awb_pc_archives' ) ) && 0 < $wp_query->found_posts ) {
|
|
if ( ! empty( $this->original_query_vars ) ) {
|
|
|
|
// Reset the main query to the original posts.
|
|
$wp_query->posts = $this->original_query_vars['posts'];
|
|
} else {
|
|
|
|
// On first element, make sure we store the original vars.
|
|
$this->original_query_vars = [
|
|
'posts' => $wp_query->posts,
|
|
'found_posts' => $wp_query->found_posts,
|
|
'max_num_pages' => $wp_query->max_num_pages,
|
|
];
|
|
}
|
|
|
|
$posts_per_page = -1 === (int) $this->args['number_posts'] ? $this->original_query_vars['found_posts'] : $this->args['number_posts'];
|
|
$wp_query->posts = (int) $this->args['offset'] < count( $wp_query->posts ) ? array_slice( $wp_query->posts, (int) $this->args['offset'], $posts_per_page ) : [];
|
|
$wp_query->post_count = count( $wp_query->posts );
|
|
|
|
// Last Post Card Archives element. Reset data, so that pagination works.
|
|
if ( $wp_query->get( 'awb_pc_archives' ) === $this->element_counter ) {
|
|
$wp_query->found_posts = $this->original_query_vars['found_posts'];
|
|
$wp_query->max_num_pages = ceil( $wp_query->found_posts / ( (int) $this->args['offset'] + $posts_per_page ) );
|
|
|
|
$this->original_query_vars = [];
|
|
} else {
|
|
|
|
// Any but last Post Card Archoves element. Set vars, so that only posts that we want will be rendered and that pagination is skipped.
|
|
$wp_query->found_posts = count( $wp_query->posts );
|
|
$wp_query->max_num_pages = count( $wp_query->posts );
|
|
}
|
|
|
|
$wp_query->rewind_posts();
|
|
}
|
|
|
|
return $wp_query;
|
|
}
|
|
|
|
/**
|
|
* Render the shortcode
|
|
*
|
|
* @access public
|
|
* @since 3.3
|
|
* @param array $args Shortcode parameters.
|
|
* @param string $content Content between shortcode.
|
|
* @return string HTML output.
|
|
*/
|
|
public function render( $args, $content = '' ) {
|
|
global $post, $wp_query;
|
|
|
|
$this->args = FusionBuilder::set_shortcode_defaults( self::get_element_defaults(), $args, $this->shortcode_handle );
|
|
|
|
$option = isset( $post->ID ) ? fusion_get_page_option( 'dynamic_content_preview_type', $post->ID ) : '';
|
|
$option = '' !== $option ? $option : 'archives';
|
|
$html = '<div ' . FusionBuilder::attributes( $this->shortcode_handle ) . ' >';
|
|
|
|
// Handle empty results.
|
|
if ( ! fusion_is_preview_frame() && ! $post ) {
|
|
$html .= apply_filters( 'fusion_shortcode_content', '<h2 class="fusion-nothing-found">' . $content . '</h2>', $this->shortcode_handle, $args );
|
|
|
|
} elseif ( fusion_is_preview_frame() && ! in_array( $option, [ 'search', 'archives', 'term' ], true ) ) {
|
|
|
|
// Invalid source selection, return empty so view placeholder shows.
|
|
$this->element_counter++;
|
|
return '';
|
|
|
|
} elseif ( ! fusion_is_preview_frame() && ! isset( $_GET['awb-studio-content'] ) && $this->should_render() ) { // phpcs:ignore WordPress.Security.NonceVerification
|
|
|
|
// Pass main query to Post Card element.
|
|
add_filter( 'fusion_post_cards_shortcode_query_override', [ $this, 'fusion_post_cards_shortcode_query_override' ] );
|
|
$cards = $this->render_card();
|
|
if ( empty( $cards ) && 'terms' !== $this->args['source'] ) {
|
|
$html .= apply_filters( 'fusion_shortcode_content', '<h2 class="fusion-nothing-found">' . $content . '</h2>', $this->shortcode_handle, $args );
|
|
} else {
|
|
$html .= $cards;
|
|
}
|
|
remove_filter( 'fusion_post_cards_shortcode_query_override', [ $this, 'fusion_post_cards_shortcode_query_override' ] );
|
|
} elseif ( fusion_is_preview_frame() || isset( $_GET['awb-studio-content'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification
|
|
add_filter( 'fusion_post_cards_shortcode_query_args', [ $this, 'archives_type' ] );
|
|
$cards = $this->render_card();
|
|
remove_filter( 'fusion_post_cards_shortcode_query_args', [ $this, 'archives_type' ] );
|
|
|
|
// No cards, mean none of post type, display placeholder message.
|
|
if ( empty( $cards ) && current_user_can( 'manage_options' ) ) {
|
|
$this->element_counter++;
|
|
return '<div class="fusion-builder-placeholder">' . esc_html__( 'No posts found.', 'fusion-builder' ) . '</div>';
|
|
}
|
|
|
|
// We do have cards, add to markup.
|
|
$html .= $cards;
|
|
}
|
|
|
|
$html .= '</div>';
|
|
|
|
$this->on_render();
|
|
|
|
$this->element_counter++;
|
|
|
|
return apply_filters( 'fusion_component_' . $this->shortcode_handle . '_content', $html, $args );
|
|
}
|
|
|
|
/**
|
|
* Apply post per page on search pages.
|
|
*
|
|
* @access public
|
|
* @since 3.3
|
|
* @return array The attribute array
|
|
*/
|
|
public function attr() {
|
|
$attr = [
|
|
'class' => 'fusion-post-cards-archives-tb',
|
|
];
|
|
|
|
$attr['data-infinite-post-class'] = $this->args['post_type'];
|
|
|
|
return $attr;
|
|
}
|
|
|
|
/**
|
|
* Apply post per page on search pages.
|
|
*
|
|
* @access public
|
|
* @since 3.3
|
|
* @param object $query The WP_Query object.
|
|
* @return void
|
|
*/
|
|
public function alter_search_loop( $query ) {
|
|
if ( ! is_admin() && $query->is_main_query() && ( $query->is_search() || $query->is_archive() ) ) {
|
|
$search_override = Fusion_Template_Builder::get_instance()->get_search_override( $query );
|
|
|
|
if ( is_object( $search_override ) ) {
|
|
$content = $this->get_shortcodes_from_global_elements( $search_override->post_content );
|
|
$has_archives_component = $search_override && has_shortcode( $content, 'fusion_tb_post_card_archives' );
|
|
|
|
if ( $has_archives_component ) {
|
|
$pattern = get_shortcode_regex( [ 'fusion_tb_post_card_archives' ] );
|
|
|
|
if ( preg_match_all( '/' . $pattern . '/s', $content, $matches )
|
|
&& array_key_exists( 2, $matches )
|
|
&& in_array( 'fusion_tb_post_card_archives', $matches[2], true ) ) {
|
|
|
|
$number_of_post_card_archives = count( $matches[3] );
|
|
|
|
$search_atts = shortcode_parse_atts( $matches[3][ $number_of_post_card_archives - 1 ] );
|
|
$number_posts = 0;
|
|
if ( isset( $_GET['product_count'] ) ) {
|
|
$number_posts = (int) $_GET['product_count'];
|
|
} else if ( isset( $search_atts['number_posts'] ) ) {
|
|
$number_posts = $search_atts['number_posts']; // phpcs:ignore WordPress.Security.NonceVerification.Recommended
|
|
}
|
|
|
|
if ( ! empty( $search_atts['offset'] ) ) {
|
|
|
|
if ( 1 < $number_of_post_card_archives ) {
|
|
|
|
// We have more than on Post Card Archives element. Add offset to posts per page and don't set the offset.
|
|
$number_posts = (int) $search_atts['offset'] + (int) $number_posts;
|
|
|
|
$query->set( 'awb_pc_archives', $number_of_post_card_archives );
|
|
} else {
|
|
$query->set( 'offset', $search_atts['offset'] );
|
|
}
|
|
}
|
|
|
|
if ( $number_posts ) {
|
|
$query->set( 'posts_per_page', $number_posts );
|
|
}
|
|
|
|
$query->set( 'paged', ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1 );
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Get shortcodes from global elements.
|
|
*
|
|
* @access private
|
|
* @since 3.11
|
|
* @param string $content TThe post content to be checked.
|
|
* @return string The post content string where global elements have been replaced.
|
|
*/
|
|
private function get_shortcodes_from_global_elements( $content ) {
|
|
$pattern = '\[(\[?)(fusion_global)(?![\w-])([^\]\/]*(?:\/(?!\])[^\]\/]*)*?)(?:(\/)\]|\](?:([^\[]*+(?:\[(?!\/\2\])[^\[]*+)*+)\[\/\2\])?)(\]?)';
|
|
|
|
// Get all globals and replace them with their contents.
|
|
if ( preg_match_all( '/' . $pattern . '/s', $content, $matches ) && array_key_exists( 2, $matches ) && in_array( 'fusion_global', $matches[2], true ) ) {
|
|
|
|
// Loop through matches.
|
|
foreach ( $matches[0] as $key => $value ) {
|
|
$result = shortcode_parse_atts( $matches[3][ $key ] );
|
|
|
|
// Get content of the global element and replace the global shortcode with its content.
|
|
if ( isset( $result['id'] ) && ! empty( $result['id'] ) ) {
|
|
$result['id'] = apply_filters( 'wpml_object_id', $result['id'], 'fusion_element', true );
|
|
$post = get_post( $result['id'] );
|
|
$content = str_replace( $matches[0][ $key ], $post->post_content, $content );
|
|
}
|
|
}
|
|
}
|
|
|
|
return $content;
|
|
}
|
|
}
|
|
}
|
|
|
|
new FusionTB_Post_Card_Archives();
|
|
}
|
|
|
|
/**
|
|
* Map shortcode to Avada Builder
|
|
*
|
|
* @since 3.3
|
|
*/
|
|
function fusion_component_post_card_archives() {
|
|
$fusion_settings = awb_get_fusion_settings();
|
|
|
|
$editing = function_exists( 'is_fusion_editor' ) && is_fusion_editor();
|
|
$layouts_permalink = [];
|
|
$layouts = [
|
|
'0' => esc_attr__( 'None', 'fusion-builder' ),
|
|
];
|
|
|
|
// If builder get custom layout options.
|
|
if ( $editing && function_exists( 'Fusion_Builder_Library' ) ) {
|
|
// In case taxonomy is not registered yet, register.
|
|
Fusion_Builder_Library()->register_layouts();
|
|
|
|
$post_cards = get_posts(
|
|
[
|
|
'post_type' => 'fusion_element',
|
|
'posts_per_page' => '-1',
|
|
'tax_query' => [ // phpcs:ignore WordPress.DB.SlowDBQuery
|
|
[
|
|
'taxonomy' => 'element_category',
|
|
'field' => 'slug',
|
|
'terms' => 'post_cards',
|
|
],
|
|
],
|
|
]
|
|
);
|
|
|
|
if ( $post_cards ) {
|
|
foreach ( $post_cards as $post_card ) {
|
|
$layouts[ $post_card->ID ] = $post_card->post_title;
|
|
$layouts_permalink[ $post_card->ID ] = $post_card->guid;
|
|
}
|
|
}
|
|
}
|
|
|
|
$library_link = '<a href="' . admin_url( 'admin.php?page=avada-library' ) . '" target="_blank">' . esc_attr__( 'Avada Library', 'fusion-builder' ) . '</a>';
|
|
|
|
// Navigation section.
|
|
$arrows_dependency = [
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'grid',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'masonry',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'show_nav',
|
|
'value' => 'no',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'show_nav',
|
|
'value' => 'dots',
|
|
'operator' => '!=',
|
|
],
|
|
];
|
|
$dots_dependency = [
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'grid',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'masonry',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'show_nav',
|
|
'value' => 'no',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'show_nav',
|
|
'value' => 'yes',
|
|
'operator' => '!=',
|
|
],
|
|
];
|
|
|
|
fusion_builder_map(
|
|
fusion_builder_frontend_data(
|
|
'FusionTB_Post_Card_Archives',
|
|
[
|
|
'name' => esc_attr__( 'Post Card Archives', 'fusion-builder' ),
|
|
'shortcode' => 'fusion_tb_post_card_archives',
|
|
'icon' => 'fusiona-product-grid-and-archives',
|
|
'subparam_map' => [
|
|
'separator_width' => 'dimensions_width',
|
|
],
|
|
'component' => true,
|
|
'templates' => [ 'content' ],
|
|
'params' => [
|
|
[
|
|
'type' => 'select',
|
|
'heading' => esc_attr__( 'Post Card', 'fusion-builder' ),
|
|
'group' => esc_attr__( 'General', 'fusion-builder' ),
|
|
|
|
/* translators: The Avada Library link. */
|
|
'description' => sprintf( __( 'Select a saved Post Card design to use. Create new or edit existing Post Cards in the %s.', 'fusion-builder' ), $library_link ),
|
|
'param_name' => 'post_card',
|
|
'default' => '0',
|
|
'value' => $layouts,
|
|
'callback' => [
|
|
'function' => 'fusion_ajax',
|
|
'action' => 'get_fusion_tb_post_card_archives',
|
|
'ajax' => true,
|
|
],
|
|
'quick_edit' => [
|
|
'label' => esc_html__( 'Edit Post Card', 'fusion-builder' ),
|
|
'type' => 'post_card',
|
|
'items' => $layouts_permalink,
|
|
],
|
|
],
|
|
[
|
|
'type' => 'radio_button_set',
|
|
'heading' => esc_attr__( 'Apply Alternate Post Cards', 'fusion-builder' ),
|
|
'description' => esc_attr__( 'Set to "yes" to enable alternating Post Cards.', 'fusion-builder' ),
|
|
'param_name' => 'apply_alternate_post_cards',
|
|
'value' => [
|
|
'yes' => esc_attr__( 'Yes', 'fusion-builder' ),
|
|
'no' => esc_attr__( 'No', 'fusion-builder' ),
|
|
],
|
|
'default' => 'no',
|
|
'callback' => [
|
|
'function' => 'fusion_ajax',
|
|
'action' => 'get_fusion_tb_post_card_archives',
|
|
'ajax' => true,
|
|
],
|
|
],
|
|
[
|
|
'type' => 'repeater',
|
|
'param_name' => 'alternate_post_cards',
|
|
'heading' => esc_html__( 'Alternate Post Cards', 'fusion-builder' ),
|
|
'description' => esc_html__( 'Add alternate Post Cards', 'fusion-builder' ),
|
|
'group' => esc_attr__( 'General', 'fusion-builder' ),
|
|
'row_add' => esc_html__( 'Add Post Card', 'fusion-builder' ),
|
|
'row_title' => esc_html__( 'Alternate Post Card', 'fusion-builder' ),
|
|
'bind_title' => 'alternate_post_card',
|
|
//'title_prefix' => esc_html__( 'Post Card', 'fusion-builder' ),
|
|
'skip_empty_row' => true,
|
|
'fields' => [
|
|
'alternate_post_card' => [
|
|
'type' => 'select',
|
|
'heading' => esc_attr__( 'Post Card', 'fusion-builder' ),
|
|
/* translators: The Avada Library link. */
|
|
'description' => sprintf( __( 'Select a saved Post Card. Create new or edit existing ones in the %s.', 'fusion-builder' ), $library_link ),
|
|
'param_name' => 'alternate_post_card',
|
|
'default' => '0',
|
|
'value' => $layouts,
|
|
'callback' => [
|
|
'function' => 'fusion_ajax',
|
|
'action' => 'get_fusion_tb_post_card_archives',
|
|
'ajax' => true,
|
|
],
|
|
'quick_edit' => [
|
|
'label' => esc_html__( 'Edit Post Card', 'fusion-builder' ),
|
|
'type' => 'post_card',
|
|
'items' => $layouts_permalink,
|
|
],
|
|
],
|
|
'post_card_position' => [
|
|
'type' => 'range',
|
|
'heading' => esc_html__( 'Position', 'fusion-builder' ),
|
|
'description' => esc_html__( 'Set the position in the layout, and repeat card once every chosen number of items.', 'fusion-builder' ),
|
|
'param_name' => 'post_card_position',
|
|
'min' => '1',
|
|
'max' => '50',
|
|
'step' => '1',
|
|
'value' => '',
|
|
'dependency' => [
|
|
[
|
|
'element' => 'alternate_post_card',
|
|
'value' => '0',
|
|
'operator' => '!=',
|
|
],
|
|
],
|
|
'callback' => [
|
|
'function' => 'fusion_ajax',
|
|
'action' => 'get_fusion_tb_post_card_archives',
|
|
'ajax' => true,
|
|
],
|
|
],
|
|
'apply_once' => [
|
|
'type' => 'radio_button_set',
|
|
'heading' => esc_attr__( 'Apply Once', 'fusion-builder' ),
|
|
'description' => esc_attr__( 'Set to "yes" to apply the Post Card only once at the chosen position.', 'fusion-builder' ),
|
|
'param_name' => 'apply_once',
|
|
'value' => [
|
|
'once' => esc_attr__( 'Yes', 'fusion-builder' ),
|
|
'loop' => esc_attr__( 'No', 'fusion-builder' ),
|
|
],
|
|
'default' => 'loop',
|
|
'dependency' => [
|
|
[
|
|
'element' => 'alternate_post_card',
|
|
'value' => '0',
|
|
'operator' => '!=',
|
|
],
|
|
],
|
|
'callback' => [
|
|
'function' => 'fusion_ajax',
|
|
'action' => 'get_fusion_tb_post_card_archives',
|
|
'ajax' => true,
|
|
],
|
|
],
|
|
'column_span' => [
|
|
'type' => 'range',
|
|
'heading' => esc_html__( 'Column Span', 'fusion-builder' ),
|
|
'description' => __( 'Set card to span across multiple columns within the element. <strong>NOTE:</strong> The result will depend on the total number of columns chosen. Using this option together with the masonry layout might cause unexpected effects.', 'fusion-builder' ),
|
|
'param_name' => 'column_span',
|
|
'min' => '1',
|
|
'max' => '6',
|
|
'step' => '1',
|
|
'value' => '1',
|
|
'responsive' => [
|
|
'state' => 'large',
|
|
'values' => [
|
|
'medium' => '0',
|
|
'small' => '0',
|
|
],
|
|
'descriptions' => [
|
|
'small' => esc_html__( 'Set card to span across multiple columns. Leave at 0 for automatic column breaking.', 'fusion-builder' ),
|
|
'medium' => esc_html__( 'Set card to span across multiple columns. Leave at 0 for automatic column breaking.', 'fusion-builder' ),
|
|
],
|
|
],
|
|
'dependency' => [
|
|
[
|
|
'element' => 'alternate_post_card',
|
|
'value' => '0',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'carousel',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'marquee',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'coverflow',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'slider',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'stacking',
|
|
'operator' => '!=',
|
|
],
|
|
],
|
|
'callback' => [
|
|
'function' => 'reRender',
|
|
'ajax' => false,
|
|
],
|
|
],
|
|
],
|
|
'callback' => [
|
|
'function' => 'fusion_ajax',
|
|
'action' => 'get_fusion_tb_post_card_archives',
|
|
'ajax' => true,
|
|
],
|
|
'dependency' => [
|
|
[
|
|
'element' => 'apply_alternate_post_cards',
|
|
'value' => 'yes',
|
|
'operator' => '==',
|
|
],
|
|
],
|
|
],
|
|
[
|
|
'type' => 'select',
|
|
'heading' => esc_attr__( 'Post Card List View', 'fusion-builder' ),
|
|
'group' => esc_attr__( 'General', 'fusion-builder' ),
|
|
|
|
/* translators: The Avada Library link. */
|
|
'description' => sprintf( __( 'This post card will be used in the list view which can be triggered with the sorting element (WooCommerce). Post cards can be created in the %s.', 'fusion-builder' ), $library_link ),
|
|
'param_name' => 'post_card_list_view',
|
|
'default' => '0',
|
|
'value' => $layouts,
|
|
'callback' => [
|
|
'function' => 'fusion_ajax',
|
|
'action' => 'get_fusion_tb_post_card_archives',
|
|
'ajax' => true,
|
|
],
|
|
],
|
|
[
|
|
'type' => 'radio_button_set',
|
|
'heading' => esc_attr__( 'Post Cards Display', 'fusion-builder' ),
|
|
'description' => esc_attr__( 'Choose what to display on post cards page.', 'fusion-builder' ),
|
|
'param_name' => 'source',
|
|
'callback' => [
|
|
'function' => 'fusion_ajax',
|
|
'action' => 'get_fusion_tb_post_card_archives',
|
|
'ajax' => true,
|
|
],
|
|
'value' => [
|
|
'posts' => esc_attr__( 'Posts', 'fusion-builder' ),
|
|
'terms' => esc_attr__( 'Terms', 'fusion-builder' ),
|
|
],
|
|
'default' => 'posts',
|
|
],
|
|
[
|
|
'type' => 'range',
|
|
'heading' => esc_attr__( 'Posts Per Page / Per Element', 'fusion-builder' ),
|
|
'description' => sprintf(
|
|
/* translators: %1$s: Portfolio Link. %2$s: Products Link. */
|
|
esc_attr__( 'Select number of posts per page, or per Post Card Archives element if there are several elements within one layout section. Set to -1 to display all. Set to 0 to use the post type default number of posts. For %1$s and %2$s this comes from the global options. For all others Settings > Reading.', 'fusion-builder' ),
|
|
'<a href="' . admin_url( 'themes.php?page=avada_options#portfolio_archive_items' ) . '" target="_blank">' . esc_attr__( 'portfolio', 'fusion-builder' ) . '</a>',
|
|
'<a href="' . admin_url( 'themes.php?page=avada_options#woo_items' ) . '" target="_blank">' . esc_attr__( 'products', 'fusion-builder' ) . '</a>'
|
|
),
|
|
'param_name' => 'number_posts',
|
|
'value' => 0,
|
|
'min' => '-1',
|
|
'max' => '50',
|
|
'step' => '1',
|
|
'callback' => [
|
|
'function' => 'fusion_ajax',
|
|
'action' => 'get_fusion_tb_post_card_archives',
|
|
'ajax' => true,
|
|
],
|
|
],
|
|
[
|
|
'type' => 'range',
|
|
'heading' => esc_attr__( 'Posts Offset', 'fusion-builder' ),
|
|
'description' => esc_attr__( 'The number of posts to skip. ex: 1.', 'fusion-builder' ),
|
|
'param_name' => 'offset',
|
|
'value' => '0',
|
|
'min' => '0',
|
|
'max' => '24',
|
|
'step' => '1',
|
|
'callback' => [
|
|
'function' => 'fusion_ajax',
|
|
'action' => 'get_fusion_tb_post_card_archives',
|
|
'ajax' => true,
|
|
],
|
|
],
|
|
[
|
|
'type' => 'radio_button_set',
|
|
'heading' => esc_attr__( 'Pagination Type', 'fusion-builder' ),
|
|
'description' => esc_attr__( 'Select the type of pagination.', 'fusion-builder' ),
|
|
'param_name' => 'scrolling',
|
|
'default' => 'pagination',
|
|
'value' => [
|
|
'pagination' => esc_html__( 'Pagination', 'fusion-builder' ),
|
|
'infinite' => esc_html__( 'Infinite Scroll', 'fusion-builder' ),
|
|
'load_more_button' => esc_html__( 'Load More Button', 'fusion-builder' ),
|
|
],
|
|
'dependency' => [
|
|
[
|
|
'element' => 'source',
|
|
'value' => 'terms',
|
|
'operator' => '!=',
|
|
],
|
|
],
|
|
],
|
|
[
|
|
'type' => 'tinymce',
|
|
'heading' => esc_attr__( 'Nothing Found Message', 'fusion-builder' ),
|
|
'description' => esc_attr__( 'Replacement text when no results are found.', 'fusion-builder' ),
|
|
'param_name' => 'element_content',
|
|
'value' => esc_html__( 'Nothing Found', 'fusion-builder' ),
|
|
'placeholder' => true,
|
|
'dynamic_data' => true,
|
|
'dependency' => [
|
|
[
|
|
'element' => 'source',
|
|
'value' => 'terms',
|
|
'operator' => '!=',
|
|
],
|
|
],
|
|
],
|
|
[
|
|
'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' => '',
|
|
],
|
|
[
|
|
'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' => '',
|
|
],
|
|
[
|
|
'type' => 'radio_button_set',
|
|
'heading' => esc_attr__( 'Layout', 'fusion-builder' ),
|
|
'description' => esc_attr__( 'Select how you want Post Cards to display.', 'fusion-builder' ),
|
|
'param_name' => 'layout',
|
|
'value' => [
|
|
'grid' => esc_attr__( 'Grid', 'fusion-builder' ),
|
|
'masonry' => esc_attr__( 'Masonry', 'fusion-builder' ),
|
|
'carousel' => esc_attr__( 'Carousel', 'fusion-builder' ),
|
|
'marquee' => esc_attr__( 'Marquee', 'fusion-builder' ),
|
|
'coverflow' => esc_attr__( 'Coverflow', 'fusion-builder' ),
|
|
'stacking' => esc_attr__( 'Stacking Cards', 'fusion-builder' ),
|
|
'slider' => esc_attr__( 'Slider', 'fusion-builder' ),
|
|
],
|
|
'default' => 'grid',
|
|
'group' => esc_attr__( 'Design', 'fusion-builder' ),
|
|
],
|
|
[
|
|
'type' => 'radio_button_set',
|
|
'heading' => esc_html__( 'Marquee Direction', 'fusion-builder' ),
|
|
'description' => esc_html__( 'Select the marquee direction.', 'fusion-builder' ),
|
|
'group' => esc_attr__( 'Design', 'fusion-builder' ),
|
|
'param_name' => 'marquee_direction',
|
|
'default' => 'left',
|
|
'value' => [
|
|
'left' => esc_html__( 'Left', 'fusion-builder' ),
|
|
'right' => esc_html__( 'Right', 'fusion-builder' ),
|
|
],
|
|
'dependency' => [
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'marquee',
|
|
'operator' => '==',
|
|
],
|
|
],
|
|
],
|
|
[
|
|
'type' => 'range',
|
|
'heading' => esc_attr__( 'Stacking CardsOffset', 'fusion-builder' ),
|
|
'description' => esc_attr__( 'Set the offset at which stacking cards should become sticky.', 'fusion-builder' ),
|
|
'group' => esc_attr__( 'Design', 'fusion-builder' ),
|
|
'param_name' => 'stacking_offset',
|
|
'value' => '0',
|
|
'min' => '0',
|
|
'max' => '500',
|
|
'step' => '1',
|
|
'dependency' => [
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'stacking',
|
|
'operator' => '==',
|
|
],
|
|
],
|
|
],
|
|
[
|
|
'type' => 'range',
|
|
'heading' => esc_attr__( 'Post Card Rotation Angle', 'fusion-builder' ),
|
|
'description' => esc_attr__( 'Set the rotation angle for the Post Cards in coverflow layout.', 'fusion-builder' ),
|
|
'group' => esc_attr__( 'Design', 'fusion-builder' ),
|
|
'param_name' => 'rotation_angle',
|
|
'value' => '50',
|
|
'min' => '0',
|
|
'max' => '180',
|
|
'step' => '1',
|
|
'dependency' => [
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'coverflow',
|
|
'operator' => '==',
|
|
],
|
|
],
|
|
],
|
|
[
|
|
'type' => 'range',
|
|
'heading' => esc_attr__( 'Slide Depth', 'fusion-builder' ),
|
|
'description' => esc_attr__( 'Set the z-axis translation offset of the slides in coverflow layout.', 'fusion-builder' ),
|
|
'group' => esc_attr__( 'Design', 'fusion-builder' ),
|
|
'param_name' => 'coverflow_depth',
|
|
'value' => '100',
|
|
'min' => '0',
|
|
'max' => '250',
|
|
'step' => '1',
|
|
'dependency' => [
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'coverflow',
|
|
'operator' => '==',
|
|
],
|
|
],
|
|
],
|
|
[
|
|
'type' => 'radio_button_set',
|
|
'heading' => esc_attr__( 'Transition Style', 'fusion-builder' ),
|
|
'description' => esc_attr__( 'Choose the transition style for the slider layout.', 'fusion-builder' ),
|
|
'group' => esc_attr__( 'Design', 'fusion-builder' ),
|
|
'param_name' => 'slider_animation',
|
|
'value' => [
|
|
'fade' => esc_attr__( 'Fade', 'fusion-builder' ),
|
|
'flip' => esc_attr__( 'Flip', 'fusion-builder' ),
|
|
'flip_vert' => esc_attr__( 'Flip Vertically', 'fusion-builder' ),
|
|
'swipe' => esc_attr__( 'Swipe', 'fusion-builder' ),
|
|
'swipe_vert' => esc_attr__( 'Swipe Vertically', 'fusion-builder' ),
|
|
'slide' => esc_attr__( 'Slide', 'fusion-builder' ),
|
|
'slide_vert' => esc_attr__( 'Slide Vertically', 'fusion-builder' ),
|
|
],
|
|
'default' => 'fade',
|
|
'dependency' => [
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'slider',
|
|
'operator' => '==',
|
|
],
|
|
],
|
|
],
|
|
[
|
|
'type' => 'radio_button_set',
|
|
'heading' => esc_attr__( 'Post Card Alignment', 'fusion-builder' ),
|
|
'description' => esc_attr__( 'Select the Post Cards alignment within rows.', 'fusion-builder' ),
|
|
'param_name' => 'flex_align_items',
|
|
'back_icons' => true,
|
|
'grid_layout' => true,
|
|
'value' => [
|
|
'flex-start' => esc_attr__( 'Flex Start', 'fusion-builder' ),
|
|
'center' => esc_attr__( 'Center', 'fusion-builder' ),
|
|
'flex-end' => esc_attr__( 'Flex End', 'fusion-builder' ),
|
|
'stretch' => esc_attr__( 'Stretch', 'fusion-builder' ),
|
|
],
|
|
'icons' => [
|
|
'flex-start' => '<span class="fusiona-align-top-columns"></span>',
|
|
'center' => '<span class="fusiona-align-center-columns"></span>',
|
|
'flex-end' => '<span class="fusiona-align-bottom-columns"></span>',
|
|
'stretch' => '<span class="fusiona-full-height"></span>',
|
|
],
|
|
'default' => 'flex-start',
|
|
'group' => esc_attr__( 'Design', 'fusion-builder' ),
|
|
'dependency' => [
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'masonry',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'slider',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'stacking',
|
|
'operator' => '!=',
|
|
],
|
|
],
|
|
],
|
|
[
|
|
'type' => 'range',
|
|
'heading' => esc_attr__( 'Number of Columns', 'fusion-builder' ),
|
|
'description' => esc_attr__( 'Set the number of columns per row.', 'fusion-builder' ),
|
|
'param_name' => 'columns',
|
|
'value' => '4',
|
|
'min' => '0',
|
|
'max' => '6',
|
|
'step' => '1',
|
|
'group' => esc_attr__( 'Design', 'fusion-builder' ),
|
|
'responsive' => [
|
|
'state' => 'large',
|
|
'values' => [
|
|
'small' => '0',
|
|
'medium' => '0',
|
|
],
|
|
'descriptions' => [
|
|
'small' => esc_attr__( 'Set the number of columns per row. Leave at 0 for automatic column breaking', 'fusion-builder' ),
|
|
'medium' => esc_attr__( 'Set the number of columns per row. Leave at 0 for automatic column breaking', 'fusion-builder' ),
|
|
],
|
|
],
|
|
'dependency' => [
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'slider',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'stacking',
|
|
'operator' => '!=',
|
|
],
|
|
],
|
|
],
|
|
[
|
|
'type' => 'range',
|
|
'heading' => esc_attr__( 'Column Spacing', 'fusion-builder' ),
|
|
'description' => esc_attr__( "Insert the amount of horizontal spacing between items without 'px'. ex: 40.", 'fusion-builder' ),
|
|
'param_name' => 'column_spacing',
|
|
'value' => '40',
|
|
'min' => '1',
|
|
'max' => '300',
|
|
'step' => '1',
|
|
'group' => esc_attr__( 'Design', 'fusion-builder' ),
|
|
'dependency' => [
|
|
[
|
|
'element' => 'columns',
|
|
'value' => '1',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'slider',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'stacking',
|
|
'operator' => '!=',
|
|
],
|
|
],
|
|
],
|
|
[
|
|
'type' => 'range',
|
|
'heading' => esc_attr__( 'Row Spacing', 'fusion-builder' ),
|
|
'description' => esc_attr__( "Insert the amount of vertical spacing between items without 'px'. ex: 40.", 'fusion-builder' ),
|
|
'param_name' => 'row_spacing',
|
|
'value' => '40',
|
|
'min' => '1',
|
|
'max' => '300',
|
|
'step' => '1',
|
|
'group' => esc_attr__( 'Design', 'fusion-builder' ),
|
|
'dependency' => [
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'carousel',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'marquee',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'coverflow',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'slider',
|
|
'operator' => '!=',
|
|
],
|
|
],
|
|
],
|
|
[
|
|
'type' => 'select',
|
|
'heading' => esc_attr__( 'Separator', 'fusion-builder' ),
|
|
'description' => esc_attr__( 'Choose the horizontal separator line style. This will only be used on single column grids or list view.', 'fusion-builder' ),
|
|
'param_name' => 'separator_style_type',
|
|
'group' => esc_attr__( 'Design', 'fusion-builder' ),
|
|
'callback' => [
|
|
'function' => 'fusion_post_card_separator',
|
|
'ajax' => false,
|
|
],
|
|
'value' => [
|
|
'none' => esc_attr__( 'None', 'fusion-builder' ),
|
|
'single solid' => esc_attr__( 'Single Border Solid', 'fusion-builder' ),
|
|
'double solid' => esc_attr__( 'Double Border Solid', 'fusion-builder' ),
|
|
'single|dashed' => esc_attr__( 'Single Border Dashed', 'fusion-builder' ),
|
|
'double|dashed' => esc_attr__( 'Double Border Dashed', 'fusion-builder' ),
|
|
'single|dotted' => esc_attr__( 'Single Border Dotted', 'fusion-builder' ),
|
|
'double|dotted' => esc_attr__( 'Double Border Dotted', 'fusion-builder' ),
|
|
],
|
|
'default' => 'none',
|
|
'dependency' => [
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'grid',
|
|
'operator' => '==',
|
|
],
|
|
],
|
|
],
|
|
[
|
|
'type' => 'colorpickeralpha',
|
|
'heading' => esc_attr__( 'Separator Color', 'fusion-builder' ),
|
|
'description' => esc_attr__( 'Controls the separator color.', 'fusion-builder' ),
|
|
'param_name' => 'separator_sep_color',
|
|
'value' => '',
|
|
'default' => $fusion_settings->get( 'sep_color' ),
|
|
'group' => esc_attr__( 'Design', 'fusion-builder' ),
|
|
'callback' => [
|
|
'function' => 'fusion_post_card_separator',
|
|
'ajax' => false,
|
|
],
|
|
'dependency' => [
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'grid',
|
|
'operator' => '==',
|
|
],
|
|
[
|
|
'element' => 'separator_style_type',
|
|
'value' => 'none',
|
|
'operator' => '!=',
|
|
],
|
|
],
|
|
],
|
|
[
|
|
'type' => 'dimension',
|
|
'remove_from_atts' => true,
|
|
'heading' => esc_attr__( 'Separator Width', 'fusion-builder' ),
|
|
'param_name' => 'dimensions_width',
|
|
'value' => [
|
|
'separator_width' => '',
|
|
],
|
|
'description' => esc_attr__( 'In pixels (px or %), ex: 1px, ex: 50%. Leave blank for full width.', 'fusion-builder' ),
|
|
'group' => esc_attr__( 'Design', 'fusion-builder' ),
|
|
'callback' => [
|
|
'function' => 'fusion_post_card_separator',
|
|
'ajax' => false,
|
|
],
|
|
'dependency' => [
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'grid',
|
|
'operator' => '==',
|
|
],
|
|
[
|
|
'element' => 'separator_style_type',
|
|
'value' => 'none',
|
|
'operator' => '!=',
|
|
],
|
|
],
|
|
],
|
|
[
|
|
'type' => 'radio_button_set',
|
|
'heading' => esc_attr__( 'Separator Alignment', 'fusion-builder' ),
|
|
'description' => esc_attr__( 'Select the separator alignment; only works when a width is specified.', 'fusion-builder' ),
|
|
'param_name' => 'separator_alignment',
|
|
'value' => [
|
|
'center' => esc_attr__( 'Center', 'fusion-builder' ),
|
|
'left' => esc_attr__( 'Left', 'fusion-builder' ),
|
|
'right' => esc_attr__( 'Right', 'fusion-builder' ),
|
|
],
|
|
'default' => 'center',
|
|
'group' => esc_attr__( 'Design', 'fusion-builder' ),
|
|
'callback' => [
|
|
'function' => 'fusion_post_card_separator',
|
|
'ajax' => false,
|
|
],
|
|
'dependency' => [
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'grid',
|
|
'operator' => '==',
|
|
],
|
|
[
|
|
'element' => 'separator_style_type',
|
|
'value' => 'none',
|
|
'operator' => '!=',
|
|
],
|
|
],
|
|
],
|
|
[
|
|
'type' => 'range',
|
|
'heading' => esc_attr__( 'Separator Border Size', 'fusion-builder' ),
|
|
'param_name' => 'separator_border_size',
|
|
'value' => '',
|
|
'min' => '0',
|
|
'max' => '50',
|
|
'step' => '1',
|
|
'default' => $fusion_settings->get( 'separator_border_size' ),
|
|
'description' => esc_attr__( 'In pixels. ', 'fusion-builder' ),
|
|
'group' => esc_attr__( 'Design', 'fusion-builder' ),
|
|
'callback' => [
|
|
'function' => 'fusion_post_card_separator',
|
|
'ajax' => false,
|
|
],
|
|
'dependency' => [
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'grid',
|
|
'operator' => '==',
|
|
],
|
|
[
|
|
'element' => 'separator_style_type',
|
|
'value' => 'none',
|
|
'operator' => '!=',
|
|
],
|
|
],
|
|
],
|
|
[
|
|
'type' => 'range',
|
|
'heading' => esc_attr__( 'Transition Speed', 'fusion-builder' ),
|
|
'description' => esc_attr__( 'Set the duration of the transition between Post Cards. In milliseconds.', 'fusion-builder' ),
|
|
'group' => esc_attr__( 'Design', 'fusion-builder' ),
|
|
'param_name' => 'transition_speed',
|
|
'value' => '500',
|
|
'min' => '50',
|
|
'max' => '2000',
|
|
'step' => '50',
|
|
'dependency' => [
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'grid',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'masonry',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'stacking',
|
|
'operator' => '!=',
|
|
],
|
|
],
|
|
],
|
|
[
|
|
'type' => 'range',
|
|
'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' ),
|
|
'group' => esc_attr__( 'Design', 'fusion-builder' ),
|
|
'param_name' => 'scroll_items',
|
|
'min' => '1',
|
|
'max' => '50',
|
|
'step' => '1',
|
|
'value' => '0',
|
|
'dependency' => [
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'grid',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'masonry',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'marquee',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'slider',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'stacking',
|
|
'operator' => '!=',
|
|
],
|
|
],
|
|
],
|
|
[
|
|
'type' => 'radio_button_set',
|
|
'heading' => esc_attr__( 'Center Active Post Cards', 'fusion-builder' ),
|
|
'description' => esc_attr__( 'Choose to always have the active Post Card centered. Otherwise it will be left on LTR and right on RTL sites.', 'fusion-builder' ),
|
|
'group' => esc_attr__( 'Design', 'fusion-builder' ),
|
|
'param_name' => 'centered_slides',
|
|
'value' => [
|
|
'yes' => esc_attr__( 'Yes', 'fusion-builder' ),
|
|
'no' => esc_attr__( 'No', 'fusion-builder' ),
|
|
],
|
|
'default' => 'no',
|
|
'dependency' => [
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'grid',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'marquee',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'masonry',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'slider',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'stacking',
|
|
'operator' => '!=',
|
|
],
|
|
],
|
|
],
|
|
[
|
|
'type' => 'radio_button_set',
|
|
'heading' => esc_html__( 'Mask Edges', 'fusion-builder' ),
|
|
'description' => esc_html__( 'Choose if the edges should be masked with a fade out effect. Navigation arrows will not be displayed, if masked edges are active.', 'fusion-builder' ),
|
|
'group' => esc_attr__( 'Design', 'fusion-builder' ),
|
|
'param_name' => 'mask_edges',
|
|
'default' => 'no',
|
|
'value' => [
|
|
'yes' => esc_html__( 'Yes', 'fusion-builder' ),
|
|
'no' => esc_html__( 'No', 'fusion-builder' ),
|
|
],
|
|
'dependency' => [
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'grid',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'masonry',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'slider',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'stacking',
|
|
'operator' => '!=',
|
|
],
|
|
],
|
|
],
|
|
[
|
|
'type' => 'radio_button_set',
|
|
'heading' => esc_html__( 'Display Shadow', 'fusion-builder' ),
|
|
'description' => esc_html__( 'Choose to show a shadow on the individual slides on coverflow layout or during transitions.', 'fusion-builder' ),
|
|
'group' => esc_attr__( 'Design', 'fusion-builder' ),
|
|
'param_name' => 'display_shadow',
|
|
'default' => 'no',
|
|
'value' => [
|
|
'yes' => esc_html__( 'Yes', 'fusion-builder' ),
|
|
'no' => esc_html__( 'No', 'fusion-builder' ),
|
|
],
|
|
'dependency' => [
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'grid',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'masonry',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'marquee',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'stacking',
|
|
'operator' => '!=',
|
|
],
|
|
],
|
|
],
|
|
[
|
|
'type' => 'radio_button_set',
|
|
'heading' => esc_attr__( 'Autoplay', 'fusion-builder' ),
|
|
'description' => esc_attr__( 'Choose to autoplay the items.', 'fusion-builder' ),
|
|
'group' => esc_attr__( 'Design', 'fusion-builder' ),
|
|
'param_name' => 'autoplay',
|
|
'value' => [
|
|
'yes' => esc_attr__( 'Yes', 'fusion-builder' ),
|
|
'no' => esc_attr__( 'No', 'fusion-builder' ),
|
|
],
|
|
'default' => 'no',
|
|
'dependency' => [
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'grid',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'marquee',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'masonry',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'stacking',
|
|
'operator' => '!=',
|
|
],
|
|
],
|
|
],
|
|
[
|
|
'type' => 'range',
|
|
'heading' => esc_attr__( 'Autoplay Speed', 'fusion-builder' ),
|
|
'description' => esc_attr__( 'Set the autoplay speed, the duration between transitions. In milliseconds.', 'fusion-builder' ),
|
|
'group' => esc_attr__( 'Design', 'fusion-builder' ),
|
|
'param_name' => 'autoplay_speed',
|
|
'value' => '',
|
|
'default' => $fusion_settings->get( 'carousel_speed' ),
|
|
'min' => '500',
|
|
'max' => '20000',
|
|
'step' => '100',
|
|
'dependency' => [
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'grid',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'marquee',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'masonry',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'stacking',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'autoplay',
|
|
'value' => 'no',
|
|
'operator' => '!=',
|
|
],
|
|
],
|
|
],
|
|
[
|
|
'type' => 'radio_button_set',
|
|
'heading' => esc_attr__( 'Autoplay Pause On Hover', 'fusion-builder' ),
|
|
'description' => esc_attr__( 'Choose to pause autoplay on hover.', 'fusion-builder' ),
|
|
'group' => esc_attr__( 'Design', 'fusion-builder' ),
|
|
'param_name' => 'autoplay_hover_pause',
|
|
'value' => [
|
|
'yes' => esc_attr__( 'Yes', 'fusion-builder' ),
|
|
'no' => esc_attr__( 'No', 'fusion-builder' ),
|
|
],
|
|
'default' => 'no',
|
|
'dependency' => [
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'grid',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'masonry',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'stacking',
|
|
'operator' => '!=',
|
|
],
|
|
],
|
|
],
|
|
[
|
|
'type' => 'radio_button_set',
|
|
'heading' => esc_attr__( 'Loop', 'fusion-builder' ),
|
|
'description' => esc_attr__( 'Choose to enable continuous loop mode.', 'fusion-builder' ),
|
|
'group' => esc_attr__( 'Design', 'fusion-builder' ),
|
|
'param_name' => 'loop',
|
|
'value' => [
|
|
'yes' => esc_attr__( 'Yes', 'fusion-builder' ),
|
|
'no' => esc_attr__( 'No', 'fusion-builder' ),
|
|
],
|
|
'default' => 'yes',
|
|
'dependency' => [
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'grid',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'marquee',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'masonry',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'stacking',
|
|
'operator' => '!=',
|
|
],
|
|
],
|
|
],
|
|
|
|
[
|
|
'type' => 'radio_button_set',
|
|
'heading' => esc_attr__( 'Mouse Control', 'fusion-builder' ),
|
|
'description' => esc_attr__( 'Choose to enable mouse drag and/or wheel control on the carousel, coverflow and slider layouts.', 'fusion-builder' ),
|
|
'group' => esc_attr__( 'Design', 'fusion-builder' ),
|
|
'param_name' => 'mouse_scroll',
|
|
'value' => [
|
|
'yes' => esc_attr__( 'Drag', 'fusion-builder' ),
|
|
'wheel' => esc_attr__( 'Wheel', 'fusion-builder' ),
|
|
'drag_wheel' => esc_attr__( 'Drag & Wheel', 'fusion-builder' ),
|
|
'no' => esc_attr__( 'None', 'fusion-builder' ),
|
|
],
|
|
'default' => 'no',
|
|
'dependency' => [
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'grid',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'marquee',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'masonry',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'stacking',
|
|
'operator' => '!=',
|
|
],
|
|
],
|
|
],
|
|
[
|
|
'type' => 'radio_button_set',
|
|
'heading' => esc_attr__( 'Free Mode', 'fusion-builder' ),
|
|
'description' => esc_attr__( 'Choose to enable free mode for dragging and scrolling the Post Cards arbitrary amounts.', 'fusion-builder' ),
|
|
'group' => esc_attr__( 'Design', 'fusion-builder' ),
|
|
'param_name' => 'free_mode',
|
|
'value' => [
|
|
'yes' => esc_attr__( 'Yes', 'fusion-builder' ),
|
|
'no' => esc_attr__( 'No', 'fusion-builder' ),
|
|
],
|
|
'default' => 'no',
|
|
'dependency' => [
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'grid',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'marquee',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'masonry',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'stacking',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'mouse_scroll',
|
|
'value' => 'no',
|
|
'operator' => '!=',
|
|
],
|
|
],
|
|
],
|
|
[
|
|
'type' => 'radio_button_set',
|
|
'heading' => esc_attr__( 'Mouse Pointer', 'fusion-builder' ),
|
|
'description' => esc_attr__( 'Choose to enable mouse drag custom cursor.', 'fusion-builder' ),
|
|
'group' => esc_attr__( 'Design', 'fusion-builder' ),
|
|
'param_name' => 'mouse_pointer',
|
|
'value' => [
|
|
'default' => esc_attr__( 'Default', 'fusion-builder' ),
|
|
'custom' => esc_attr__( 'Custom', 'fusion-builder' ),
|
|
],
|
|
'default' => 'default',
|
|
'dependency' => [
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'grid',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'marquee',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'masonry',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'stacking',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'mouse_scroll',
|
|
'value' => 'no',
|
|
'operator' => '!=',
|
|
],
|
|
],
|
|
],
|
|
[
|
|
'type' => 'radio_button_set',
|
|
'heading' => esc_attr__( 'Cursor Color Mode', 'fusion-builder' ),
|
|
'description' => esc_attr__( 'Choose cursor color mode.', 'fusion-builder' ),
|
|
'group' => esc_attr__( 'Design', 'fusion-builder' ),
|
|
'param_name' => 'cursor_color_mode',
|
|
'value' => [
|
|
'auto' => esc_attr__( 'Automatic', 'fusion-builder' ),
|
|
'custom' => esc_attr__( 'Custom Color', 'fusion-builder' ),
|
|
],
|
|
'default' => 'auto',
|
|
'dependency' => [
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'grid',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'marquee',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'masonry',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'stacking',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'mouse_scroll',
|
|
'value' => 'no',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'mouse_pointer',
|
|
'value' => 'custom',
|
|
'operator' => '==',
|
|
],
|
|
],
|
|
],
|
|
[
|
|
'type' => 'colorpickeralpha',
|
|
'heading' => esc_attr__( 'Cursor Color', 'fusion-builder' ),
|
|
'description' => esc_attr__( 'Controls the color of cursor.', 'fusion-builder' ),
|
|
'param_name' => 'cursor_color',
|
|
'value' => '',
|
|
'default' => '',
|
|
'group' => esc_html__( 'Design', 'fusion-builder' ),
|
|
'dependency' => [
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'grid',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'marquee',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'masonry',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'stacking',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'mouse_scroll',
|
|
'value' => 'no',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'mouse_pointer',
|
|
'value' => 'custom',
|
|
'operator' => '==',
|
|
],
|
|
[
|
|
'element' => 'cursor_color_mode',
|
|
'value' => 'custom',
|
|
'operator' => '==',
|
|
],
|
|
],
|
|
],
|
|
[
|
|
'type' => 'radio_button_set',
|
|
'heading' => esc_attr__( 'Show Navigation', 'fusion-builder' ),
|
|
'description' => __( 'Choose to show navigation buttons on the carousel / slider. <strong>Note:</strong> You can also set the CSS ID (e.g. my-id) for this Post Card Archives element and use #my-id-next, #my-id-prev as links on a Button element to navigate through the slides.', 'fusion-builder' ),
|
|
'group' => esc_attr__( 'Design', 'fusion-builder' ),
|
|
'param_name' => 'show_nav',
|
|
'value' => [
|
|
'no' => esc_attr__( 'None', 'fusion-builder' ),
|
|
'yes' => esc_attr__( 'Arrows', 'fusion-builder' ),
|
|
'dots' => esc_attr__( 'Dots', 'fusion-builder' ),
|
|
'arrows_dots' => esc_attr__( 'Arrows & Dots', 'fusion-builder' ),
|
|
],
|
|
'default' => 'yes',
|
|
'dependency' => [
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'grid',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'marquee',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'masonry',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'stacking',
|
|
'operator' => '!=',
|
|
],
|
|
],
|
|
],
|
|
[
|
|
'type' => 'dimension',
|
|
'heading' => esc_attr__( 'Arrow Box Dimensions', 'fusion-builder' ),
|
|
'description' => esc_attr__( 'Controls the width and height of the arrow box. Enter values including any valid CSS unit.', 'fusion-builder' ),
|
|
'param_name' => 'arrow_box',
|
|
'value' => [
|
|
'arrow_box_width' => '',
|
|
'arrow_box_height' => '',
|
|
],
|
|
'group' => esc_attr__( 'Design', 'fusion-builder' ),
|
|
'dependency' => $arrows_dependency,
|
|
],
|
|
[
|
|
'type' => 'textfield',
|
|
'heading' => esc_attr__( 'Arrow Icon Size', 'fusion-builder' ),
|
|
'description' => esc_attr__( 'Set the arrow icon size. Enter value including any valid CSS unit, ex: 14px.', 'fusion-builder' ),
|
|
'param_name' => 'arrow_size',
|
|
'value' => '',
|
|
'default' => '',
|
|
'group' => esc_attr__( 'Design', 'fusion-builder' ),
|
|
'dependency' => $arrows_dependency,
|
|
],
|
|
[
|
|
'type' => 'iconpicker',
|
|
'heading' => esc_attr__( 'Previous Icon', 'fusion-builder' ),
|
|
'param_name' => 'prev_icon',
|
|
'value' => '',
|
|
'description' => esc_attr__( 'Click an icon to select, click again to deselect.', 'fusion-builder' ),
|
|
'group' => esc_attr__( 'Design', 'fusion-builder' ),
|
|
'dependency' => $arrows_dependency,
|
|
],
|
|
[
|
|
'type' => 'iconpicker',
|
|
'heading' => esc_attr__( 'Next Icon', 'fusion-builder' ),
|
|
'param_name' => 'next_icon',
|
|
'value' => '',
|
|
'description' => esc_attr__( 'Click an icon to select, click again to deselect.', 'fusion-builder' ),
|
|
'group' => esc_attr__( 'Design', 'fusion-builder' ),
|
|
'dependency' => $arrows_dependency,
|
|
],
|
|
[
|
|
'type' => 'dimension',
|
|
'heading' => esc_attr__( 'Arrow Position', 'fusion-builder' ),
|
|
'description' => esc_attr__( 'Controls the position of the arrow. Enter value including any valid CSS unit, ex: 14px.', 'fusion-builder' ),
|
|
'param_name' => 'arrow_position',
|
|
'value' => [
|
|
'arrow_position_horizontal' => '',
|
|
'arrow_position_vertical' => '',
|
|
],
|
|
'group' => esc_attr__( 'Design', 'fusion-builder' ),
|
|
'dependency' => $arrows_dependency,
|
|
],
|
|
[
|
|
'type' => 'dimension',
|
|
'remove_from_atts' => true,
|
|
'heading' => esc_attr__( 'Arrow Border Radius', 'fusion-builder' ),
|
|
'description' => __( 'Enter values including any valid CSS unit, ex: 10px.', 'fusion-builder' ),
|
|
'param_name' => 'arrow_border_radius',
|
|
'group' => esc_attr__( 'Design', 'fusion-builder' ),
|
|
'value' => [
|
|
'arrow_border_radius_top_left' => '',
|
|
'arrow_border_radius_top_right' => '',
|
|
'arrow_border_radius_bottom_right' => '',
|
|
'arrow_border_radius_bottom_left' => '',
|
|
],
|
|
'dependency' => array_merge( $arrows_dependency ),
|
|
],
|
|
[
|
|
'type' => 'subgroup',
|
|
'heading' => esc_html__( 'Arrows Styling', 'fusion-builder' ),
|
|
'description' => esc_html__( 'Use filters to see specific type of content.', 'fusion-builder' ),
|
|
'param_name' => 'arrow_styling',
|
|
'default' => 'regular',
|
|
'group' => esc_html__( 'Design', 'fusion-builder' ),
|
|
'remove_from_atts' => true,
|
|
'value' => [
|
|
'regular' => esc_html__( 'Regular', 'fusion-builder' ),
|
|
'hover' => esc_html__( 'Hover / Active', 'fusion-builder' ),
|
|
],
|
|
'icons' => [
|
|
'regular' => '<span class="fusiona-regular-state" style="font-size:18px;"></span>',
|
|
'hover' => '<span class="fusiona-hover-state" style="font-size:18px;"></span>',
|
|
],
|
|
'dependency' => $arrows_dependency,
|
|
],
|
|
[
|
|
'type' => 'colorpickeralpha',
|
|
'heading' => esc_attr__( 'Arrow Background Color', 'fusion-builder' ),
|
|
'description' => esc_attr__( 'Controls the background color of arrow.', 'fusion-builder' ),
|
|
'param_name' => 'arrow_bgcolor',
|
|
'value' => '',
|
|
'default' => $fusion_settings->get( 'carousel_nav_color' ),
|
|
'group' => esc_html__( 'Design', 'fusion-builder' ),
|
|
'subgroup' => [
|
|
'name' => 'arrow_styling',
|
|
'tab' => 'regular',
|
|
],
|
|
'dependency' => $arrows_dependency,
|
|
],
|
|
[
|
|
'type' => 'colorpickeralpha',
|
|
'heading' => esc_attr__( 'Arrow Color', 'fusion-builder' ),
|
|
'description' => esc_attr__( 'Controls the color of arrow.', 'fusion-builder' ),
|
|
'param_name' => 'arrow_color',
|
|
'value' => '',
|
|
'default' => '#fff',
|
|
'group' => esc_html__( 'Design', 'fusion-builder' ),
|
|
'subgroup' => [
|
|
'name' => 'arrow_styling',
|
|
'tab' => 'regular',
|
|
],
|
|
'dependency' => $arrows_dependency,
|
|
],
|
|
[
|
|
'type' => 'colorpickeralpha',
|
|
'heading' => esc_attr__( 'Arrow Background Color', 'fusion-builder' ),
|
|
'description' => esc_attr__( 'Controls the color of arrow.', 'fusion-builder' ),
|
|
'param_name' => 'arrow_hover_bgcolor',
|
|
'value' => '',
|
|
'default' => $fusion_settings->get( 'carousel_hover_color' ),
|
|
'group' => esc_html__( 'Design', 'fusion-builder' ),
|
|
'subgroup' => [
|
|
'name' => 'arrow_styling',
|
|
'tab' => 'hover',
|
|
],
|
|
'dependency' => $arrows_dependency,
|
|
],
|
|
[
|
|
'type' => 'colorpickeralpha',
|
|
'heading' => esc_attr__( 'Arrow Color', 'fusion-builder' ),
|
|
'description' => esc_attr__( 'Controls the color of arrow.', 'fusion-builder' ),
|
|
'param_name' => 'arrow_hover_color',
|
|
'value' => '',
|
|
'default' => '#fff',
|
|
'group' => esc_html__( 'Design', 'fusion-builder' ),
|
|
'subgroup' => [
|
|
'name' => 'arrow_styling',
|
|
'tab' => 'hover',
|
|
],
|
|
'dependency' => $arrows_dependency,
|
|
],
|
|
|
|
// Dots section.
|
|
[
|
|
'type' => 'radio_button_set',
|
|
'heading' => esc_attr__( 'Dots Position', 'fusion-builder' ),
|
|
'description' => esc_attr__( 'Controls the position of the dots. Enter value including any valid CSS unit, ex: 14px.', 'fusion-builder' ),
|
|
'param_name' => 'dots_position',
|
|
'value' => [
|
|
'above' => esc_attr__( 'Above', 'fusion-builder' ),
|
|
'top' => esc_attr__( 'Top', 'fusion-builder' ),
|
|
'bottom' => esc_attr__( 'Bottom', 'fusion-builder' ),
|
|
'below' => esc_attr__( 'Below', 'fusion-builder' ),
|
|
],
|
|
'default' => 'bottom',
|
|
'group' => esc_attr__( 'Design', 'fusion-builder' ),
|
|
'dependency' => $dots_dependency,
|
|
],
|
|
[
|
|
'type' => 'range',
|
|
'heading' => esc_attr__( 'Dots Spacing', 'fusion-builder' ),
|
|
'param_name' => 'dots_spacing',
|
|
'value' => '4',
|
|
'min' => '0',
|
|
'max' => '100',
|
|
'step' => '1',
|
|
'description' => esc_attr__( 'In pixels. ', 'fusion-builder' ),
|
|
'group' => esc_attr__( 'Design', 'fusion-builder' ),
|
|
'dependency' => $dots_dependency,
|
|
],
|
|
[
|
|
'type' => 'dimension',
|
|
'remove_from_atts' => true,
|
|
'heading' => esc_attr__( 'Dots Margin', 'fusion-builder' ),
|
|
'description' => esc_attr__( 'In pixels or percentage, ex: 10px or 10%.', 'fusion-builder' ),
|
|
'param_name' => 'dots_margin',
|
|
'value' => [
|
|
'dots_margin_top' => '',
|
|
'dots_margin_bottom' => '',
|
|
],
|
|
'group' => esc_attr__( 'Design', 'fusion-builder' ),
|
|
'dependency' => $dots_dependency,
|
|
],
|
|
[
|
|
'type' => 'radio_button_set',
|
|
'heading' => esc_attr__( 'Dots Alignment', 'fusion-builder' ),
|
|
'description' => esc_attr__( 'Controls the border style of the arrow.', 'fusion-builder' ),
|
|
'param_name' => 'dots_align',
|
|
'value' => [
|
|
'left' => esc_attr__( 'Left', 'fusion-builder' ),
|
|
'center' => esc_attr__( 'Center', 'fusion-builder' ),
|
|
'right' => esc_attr__( 'Right', 'fusion-builder' ),
|
|
],
|
|
'default' => 'center',
|
|
'group' => esc_attr__( 'Design', 'fusion-builder' ),
|
|
'dependency' => $dots_dependency,
|
|
],
|
|
[
|
|
'type' => 'subgroup',
|
|
'heading' => esc_html__( 'Dots Styling', 'fusion-builder' ),
|
|
'description' => esc_html__( 'Use filters to see specific type of content.', 'fusion-builder' ),
|
|
'param_name' => 'dots_styling',
|
|
'default' => 'regular',
|
|
'group' => esc_html__( 'Design', 'fusion-builder' ),
|
|
'remove_from_atts' => true,
|
|
'value' => [
|
|
'regular' => esc_html__( 'Regular', 'fusion-builder' ),
|
|
'hover' => esc_html__( 'Active', 'fusion-builder' ),
|
|
],
|
|
'icons' => [
|
|
'regular' => '<span class="fusiona-regular-state" style="font-size:18px;"></span>',
|
|
'hover' => '<span class="fusiona-hover-state" style="font-size:18px;"></span>',
|
|
],
|
|
'dependency' => $dots_dependency,
|
|
],
|
|
[
|
|
'type' => 'range',
|
|
'heading' => esc_attr__( 'Dots Size', 'fusion-builder' ),
|
|
'param_name' => 'dots_size',
|
|
'value' => '8',
|
|
'min' => '0',
|
|
'max' => '100',
|
|
'step' => '1',
|
|
'description' => esc_attr__( 'In pixels. ', 'fusion-builder' ),
|
|
'group' => esc_attr__( 'Design', 'fusion-builder' ),
|
|
'subgroup' => [
|
|
'name' => 'dots_styling',
|
|
'tab' => 'regular',
|
|
],
|
|
'dependency' => $dots_dependency,
|
|
],
|
|
[
|
|
'type' => 'colorpickeralpha',
|
|
'heading' => esc_attr__( 'Dots Color', 'fusion-builder' ),
|
|
'description' => esc_attr__( 'Controls the color of arrow.', 'fusion-builder' ),
|
|
'param_name' => 'dots_color',
|
|
'value' => '',
|
|
'default' => $fusion_settings->get( 'carousel_hover_color' ),
|
|
'group' => esc_html__( 'Design', 'fusion-builder' ),
|
|
'subgroup' => [
|
|
'name' => 'dots_styling',
|
|
'tab' => 'regular',
|
|
],
|
|
'dependency' => $dots_dependency,
|
|
],
|
|
[
|
|
'type' => 'range',
|
|
'heading' => esc_attr__( 'Dots Size', 'fusion-builder' ),
|
|
'param_name' => 'dots_active_size',
|
|
'value' => '8',
|
|
'min' => '0',
|
|
'max' => '100',
|
|
'step' => '1',
|
|
'description' => esc_attr__( 'In pixels. ', 'fusion-builder' ),
|
|
'group' => esc_attr__( 'Design', 'fusion-builder' ),
|
|
'subgroup' => [
|
|
'name' => 'dots_styling',
|
|
'tab' => 'hover',
|
|
],
|
|
'dependency' => $dots_dependency,
|
|
],
|
|
[
|
|
'type' => 'colorpickeralpha',
|
|
'heading' => esc_attr__( 'Dots Color', 'fusion-builder' ),
|
|
'description' => esc_attr__( 'Controls the color of arrow.', 'fusion-builder' ),
|
|
'param_name' => 'dots_active_color',
|
|
'value' => '',
|
|
'default' => $fusion_settings->get( 'carousel_nav_color' ),
|
|
'group' => esc_html__( 'Design', 'fusion-builder' ),
|
|
'subgroup' => [
|
|
'name' => 'dots_styling',
|
|
'tab' => 'hover',
|
|
],
|
|
'dependency' => $dots_dependency,
|
|
],
|
|
|
|
[
|
|
'type' => 'dimension',
|
|
'remove_from_atts' => true,
|
|
'heading' => esc_attr__( 'Navigation Margin', 'fusion-builder' ),
|
|
'description' => esc_attr__( 'Controls the space between content and navigation. Enter value including any valid CSS unit, ex: -40px.', 'fusion-builder' ),
|
|
'group' => esc_attr__( 'Design', 'fusion-builder' ),
|
|
'param_name' => 'nav_margin',
|
|
'value' => [
|
|
'nav_margin_bottom' => '',
|
|
],
|
|
'dependency' => [
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'slider',
|
|
'operator' => '==',
|
|
],
|
|
[
|
|
'element' => 'show_nav',
|
|
'value' => 'yes',
|
|
'operator' => '==',
|
|
],
|
|
],
|
|
],
|
|
[
|
|
'type' => 'dimension',
|
|
'remove_from_atts' => true,
|
|
'heading' => esc_attr__( 'Margin', 'fusion-builder' ),
|
|
'description' => esc_attr__( 'In pixels or percentage, ex: 10px or 10%.', 'fusion-builder' ),
|
|
'param_name' => 'margin',
|
|
'value' => [
|
|
'margin_top' => '',
|
|
'margin_right' => '',
|
|
'margin_bottom' => '',
|
|
'margin_left' => '',
|
|
],
|
|
'group' => esc_attr__( 'Design', 'fusion-builder' ),
|
|
],
|
|
[
|
|
'type' => 'subgroup',
|
|
'heading' => esc_html__( 'Load More - Button Styling', 'fusion-builder' ),
|
|
'description' => esc_html__( 'Customize "Load More" button colors.', 'fusion-builder' ),
|
|
'param_name' => 'load_more_button',
|
|
'default' => 'regular',
|
|
'group' => esc_html__( 'Design', 'fusion-builder' ),
|
|
'remove_from_atts' => true,
|
|
'value' => [
|
|
'regular' => esc_html__( 'Regular', 'fusion-builder' ),
|
|
'active' => esc_html__( 'Active', 'fusion-builder' ),
|
|
],
|
|
'icons' => [
|
|
'regular' => '<span class="fusiona-regular-state" style="font-size:18px;"></span>',
|
|
'active' => '<span class="fusiona-hover-state" style="font-size:18px;"></span>',
|
|
],
|
|
'dependency' => [
|
|
[
|
|
'element' => 'scrolling',
|
|
'value' => 'load_more_button',
|
|
'operator' => '==',
|
|
],
|
|
],
|
|
],
|
|
[
|
|
'type' => 'colorpickeralpha',
|
|
'heading' => esc_attr__( 'Text Color', 'fusion-builder' ),
|
|
'description' => esc_attr__( 'Select the button text color.', 'fusion-builder' ),
|
|
'param_name' => 'load_more_btn_color',
|
|
'group' => esc_attr__( 'Design', 'fusion-builder' ),
|
|
'value' => '',
|
|
'default' => 'var(--awb-color8)',
|
|
'subgroup' => [
|
|
'name' => 'load_more_button',
|
|
'tab' => 'regular',
|
|
],
|
|
'dependency' => [
|
|
[
|
|
'element' => 'scrolling',
|
|
'value' => 'load_more_button',
|
|
'operator' => '==',
|
|
],
|
|
],
|
|
],
|
|
[
|
|
'type' => 'colorpickeralpha',
|
|
'heading' => esc_attr__( 'Background Color', 'fusion-builder' ),
|
|
'description' => esc_attr__( 'Select the button background color.', 'fusion-builder' ),
|
|
'param_name' => 'load_more_btn_bg_color',
|
|
'group' => esc_attr__( 'Design', 'fusion-builder' ),
|
|
'value' => '',
|
|
'default' => 'var(--awb-color3)',
|
|
'subgroup' => [
|
|
'name' => 'load_more_button',
|
|
'tab' => 'regular',
|
|
],
|
|
'dependency' => [
|
|
[
|
|
'element' => 'scrolling',
|
|
'value' => 'load_more_button',
|
|
'operator' => '==',
|
|
],
|
|
],
|
|
],
|
|
[
|
|
'type' => 'colorpickeralpha',
|
|
'heading' => esc_attr__( 'Hover Text Color', 'fusion-builder' ),
|
|
'description' => esc_attr__( 'Select the button hover text color.', 'fusion-builder' ),
|
|
'param_name' => 'load_more_btn_hover_color',
|
|
'group' => esc_attr__( 'Design', 'fusion-builder' ),
|
|
'value' => '',
|
|
'default' => 'var(--awb-color1)',
|
|
'subgroup' => [
|
|
'name' => 'load_more_button',
|
|
'tab' => 'active',
|
|
],
|
|
'dependency' => [
|
|
[
|
|
'element' => 'scrolling',
|
|
'value' => 'load_more_button',
|
|
'operator' => '==',
|
|
],
|
|
],
|
|
],
|
|
[
|
|
'type' => 'colorpickeralpha',
|
|
'heading' => esc_attr__( 'Hover Background Color', 'fusion-builder' ),
|
|
'description' => esc_attr__( 'Select the button hover background color.', 'fusion-builder' ),
|
|
'param_name' => 'load_more_btn_hover_bg_color',
|
|
'group' => esc_attr__( 'Design', 'fusion-builder' ),
|
|
'value' => '',
|
|
'default' => 'var(--awb-color5)',
|
|
'subgroup' => [
|
|
'name' => 'load_more_button',
|
|
'tab' => 'active',
|
|
],
|
|
'dependency' => [
|
|
[
|
|
'element' => 'scrolling',
|
|
'value' => 'load_more_button',
|
|
'operator' => '==',
|
|
],
|
|
],
|
|
],
|
|
'fusion_animation_placeholder' => [
|
|
'preview_selector' => '.fusion-post-cards',
|
|
],
|
|
[
|
|
'type' => 'range',
|
|
'heading' => esc_attr__( 'Animation Delay', 'fusion-builder' ),
|
|
'description' => esc_attr__( 'Controls the delay of animation between each element in a set. In seconds.', 'fusion-builder' ),
|
|
'param_name' => 'animation_delay',
|
|
'group' => esc_attr__( 'Extras', 'fusion-builder' ),
|
|
'min' => '0',
|
|
'max' => '1',
|
|
'step' => '0.1',
|
|
'value' => '0',
|
|
'dependency' => [
|
|
[
|
|
'element' => 'animation_type',
|
|
'value' => '',
|
|
'operator' => '!=',
|
|
],
|
|
[
|
|
'element' => 'layout',
|
|
'value' => 'grid',
|
|
'operator' => '==',
|
|
],
|
|
],
|
|
'preview' => [
|
|
'selector' => '.fusion-post-cards',
|
|
'type' => 'animation',
|
|
],
|
|
],
|
|
],
|
|
'callback' => [
|
|
'function' => 'fusion_ajax',
|
|
'action' => 'get_fusion_tb_post_card_archives',
|
|
'ajax' => true,
|
|
],
|
|
]
|
|
)
|
|
);
|
|
}
|
|
add_action( 'fusion_builder_before_init', 'fusion_component_post_card_archives' );
|
|
}
|