$value_ ): ?>
"Posts", 'base' => "cl_posts", 'show_settings_on_create' => true, 'category' => esc_html__("Aronia",'aronia'), 'icon' => 'icon-blog', 'description' => 'Use this element to add blog posts', 'admin_enqueue_js' => get_template_directory_uri() . '/includes/core/js/cl_posts_view.js', 'js_view' => 'ClPostsView', 'params' => array( array( "type" => "textfield", "holder" => "h4", "heading" => esc_attr__( "Title", "aronia" ), "param_name" => "title", "value" => esc_attr__( "", "aronia" ), "description" => esc_attr__( "Widget Title, leave empty if you don't need one", "aronia" ), 'group' => esc_attr__( "General", "aronia" ) ), array( "type" => "textfield", "heading" => esc_attr__( "Unique ID", "aronia" ), "param_name" => "unique_id", "std" => 'id' . str_replace( ".", '-', uniqid("", true) ), "description" => esc_attr__( "If you need to modify this, please add an unique identifier", "aronia" ), 'group' => esc_attr__( "General", "aronia" ) ), array( "type" => "dropdown", "holder" => "", "heading" => esc_attr__( "Module", "aronia" ), "param_name" => "module", "value" => array( esc_attr__( 'Isotope', 'aronia' ) => 'isotope', esc_attr__( 'Carousel', 'aronia' ) => 'carousel', esc_attr__( 'Grid Blocks', 'aronia' ) => 'grid-blocks', ), 'edit_field_class' => 'vc_col-xs-4', 'group' => esc_attr__( "General", "aronia" ), 'std' => 'isotope', 'admin_label' => true, ), array( "type" => "dropdown", "heading" => esc_attr__( "Isotope Type", "aronia" ), "param_name" => "isotope_type", "value" => array( esc_attr__( 'Masonry', 'aronia' ) => 'masonry', esc_attr__( 'Fit Rows', 'aronia' ) => 'fitRows', esc_attr__( 'Vertical', 'aronia' ) => 'vertical', esc_attr__( 'Packery', 'aronia' ) => 'packery', ), 'edit_field_class' => 'vc_col-xs-4', 'group' => esc_attr__( "General", "aronia" ), 'std' => 'masonry', 'dependency' => array( 'element' => 'module', 'value' => array( 'isotope' ) ), ), array( "type" => "image_select", "heading" => esc_attr__( "Grid Blocks", "aronia" ), "param_name" => "grid_block_type", "value" => array( get_template_directory_uri() . '/img/grid/grid-1.png' => 'grid-1', get_template_directory_uri() . '/img/grid/grid-2.png' => 'grid-2', get_template_directory_uri() . '/img/grid/grid-3.png' => 'grid-3', get_template_directory_uri() . '/img/grid/grid-4.png' => 'grid-4', get_template_directory_uri() . '/img/grid/grid-5.png' => 'grid-5', get_template_directory_uri() . '/img/grid/grid-6.png' => 'grid-6', get_template_directory_uri() . '/img/grid/grid-7.png' => 'grid-7', get_template_directory_uri() . '/img/grid/grid-8.png' => 'grid-8', get_template_directory_uri() . '/img/grid/grid-9.png' => 'grid-9', get_template_directory_uri() . '/img/grid/grid-10.png' => 'grid-10', ), 'edit_field_class' => 'vc_col-xs-12', 'group' => esc_attr__( "General", "aronia" ), 'description' => esc_attr__( "grid-1, grid-2, grid-3, grid-6, grid-8, grid-9, grid-10 - works only with Media Style, grid-4, grid-5, grid-7 - works with Media & Simple No Content, grid-6 works only with Deafault Style", "aronia" ), 'std' => '', 'dependency' => array( 'element' => 'module', 'value' => array( 'grid-blocks' ) ), ), array( "type" => "dropdown", "holder" => "", "heading" => esc_attr__( "Columns", "aronia" ), "param_name" => "columns", "value" => array( esc_attr__( '1 Column', 'aronia' ) => '1', esc_attr__( '2 Columns', 'aronia' ) => '2', esc_attr__( '3 Columns', 'aronia' ) => '3', esc_attr__( '4 Columns', 'aronia' ) => '4', esc_attr__( '5 Columns', 'aronia' ) => '5', ), 'edit_field_class' => 'vc_col-xs-4', 'group' => esc_attr__( "General", "aronia" ), 'std' => '3', 'dependency' => array( 'element' => 'module', 'value' => array( 'isotope', 'carousel' ) ), 'admin_label' => true, ), array( "type" => "dropdown", "holder" => "", "heading" => esc_attr__( "Carousel Nav", "aronia" ), "param_name" => "carousel_nav", "value" => array( esc_attr__( 'Yes', 'aronia' ) => 'yes', esc_attr__( 'No', 'aronia' ) => 'no' ), 'edit_field_class' => 'vc_col-xs-4', 'group' => esc_attr__( "General", "aronia" ), 'std' => 'no', 'dependency' => array( 'element' => 'module', 'value' => array( 'carousel' ) ), ), array( "type" => "dropdown", "holder" => "", "heading" => esc_attr__( "Article Style", "aronia" ), 'description' => esc_attr__( 'NOTE: Alternate Style is recommended to use with 1 - 2 columns only!', 'aronia' ), "param_name" => "style", "value" => array( esc_attr__( 'Default', 'aronia' ) => 'default', esc_attr__( 'Media', 'aronia' ) => 'media', esc_attr__( 'Alternate', 'aronia' ) => 'alternate', esc_attr__( 'Simple No Content', 'aronia' ) => 'simple-no_content', esc_attr__( 'Headlines', 'aronia' ) => 'headlines', esc_attr__( 'Headlines 2', 'aronia' ) => 'headlines-2', esc_attr__( 'Big', 'aronia' ) => 'big', ), 'edit_field_class' => 'vc_col-xs-6', 'group' => esc_attr__( "General", "aronia" ), 'std' => 'default', 'admin_label' => true, ), array( "type" => "dropdown", "holder" => "", "heading" => esc_attr__( "Animations", "aronia" ), 'description' => esc_attr__( 'Animation for items', 'aronia' ), "param_name" => "animation", "value" => array( 'None' => 'none', 'Top to Bottom' => 'top-t-bottom', 'Bottom to Top' => 'bottom-t-top', 'Right to Left' => 'right-t-left', 'Left to Right' => 'left-t-right', 'Alpha' => 'alpha-anim', 'Zoom In' => 'zoom-in', 'Zoom Out' => 'zoom-out', 'Zoom Reverse' => 'zoom-reverse', ), 'edit_field_class' => 'vc_col-xs-6', 'group' => esc_attr__( "General", "aronia" ), 'std' => 'none' ), /*array( "type" => "textfield", "holder" => "", "heading" => esc_attr__( "Gap between Items", "aronia" ), 'description' => esc_attr__( "Example values: 20px, 4rem, 20%", "aronia" ), "param_name" => "gap_items", 'group' => esc_attr__( "General", "aronia" ), 'edit_field_class' => 'vc_col-xs-6', 'std' => '' ),*/ array( "type" => "dropdown", "holder" => "", "heading" => esc_attr__( "Pagination", "aronia" ), "param_name" => "pagination", "value" => array( esc_attr__( 'Without Pagination', 'aronia' ) => 'none', esc_attr__( 'With Numbers', 'aronia' ) => 'numbers', esc_attr__( 'Next / Prev Arrows', 'aronia' ) => 'next_prev', esc_attr__( 'Next / Prev Ajax', 'aronia' ) => 'next_prev_ajax', esc_attr__( 'Load More', 'aronia' ) => 'load_more', esc_attr__( 'Infinite Scroll', 'aronia' ) => 'infinite_scroll', ), 'group' => esc_attr__( "General", "aronia" ), 'std' => 'none', 'dependency' => array( 'element' => 'module', 'value' => array( 'isotope', 'grid-blocks' ) ), ), array( "type" => "dropdown", "holder" => "", "heading" => esc_attr__( "Category Filters", "aronia" ), "param_name" => "filters", "value" => array( esc_attr__( 'No Filters', 'aronia' ) => 'disabled', esc_attr__( 'Isotope Filter', 'aronia' ) => 'isotope', esc_attr__( 'Ajax', 'aronia' ) => 'ajax', ), 'group' => esc_attr__( "General", "aronia" ), 'std' => 'disabled', 'dependency' => array( 'element' => 'module', 'value' => array( 'isotope', 'grid-blocks' ) ), ), array( "type" => "textfield", "holder" => "", "heading" => esc_attr__( "Image Size", "aronia" ), 'description' => esc_attr__( 'Enter image size (Example: "thumbnail", "medium", "large", "full" or other sizes defined by theme). Find theme sizes here: Codeless -> Codeless Image Sizes', 'aronia' ), "param_name" => "image_size", "value" => '', 'group' => esc_attr__( "General", "aronia" ), 'std' => 'theme_default', ), array( "type" => "dropdown", "holder" => "", "heading" => esc_attr__( "Image Filter", "aronia" ), "param_name" => "image_filter", "value" => array( 'normal' => 'normal', 'darken' => 'darken', '_1977' => '_1977', 'aden' => 'aden', 'brannan' => 'brannan', 'brooklyn' => 'brooklyn', 'clarendon' => 'clarendon', 'earlybird' => 'earlybird', 'gingham' => 'gingham', 'hudson' => 'hudson', 'inkwell' => 'inkwell', 'kelvin' => 'kelvin', 'lark' => 'lark', 'lofi' => 'lofi', 'maven' => 'maven', 'mayfair' => 'mayfair', 'moon' => 'moon', 'nashville' => 'nashville', 'perpetua' => 'perpetua', 'reyes' => 'reyes', 'rise' => 'rise', 'slumber' => 'slumber', 'stinson' => 'stinson', 'toaster' => 'toaster', 'valencia' => 'valencia', 'walden' => 'walden', 'willow' => 'willow', 'xpro2' => 'xpro2', ), 'group' => esc_attr__( "General", "aronia" ), 'std' => 'normal', ), array( "type" => "textfield", "heading" => esc_attr__( "Excerpt Length", "aronia" ), "param_name" => "excerpt_length", "std" => codeless_get_mod('blog_excerpt_length', 62), "description" => esc_attr__( "Excerpt Length", "aronia" ), 'group' => esc_attr__( "General", "aronia" ) ), array( 'type' => 'autocomplete', 'heading' => esc_attr__( 'Narrow data source', 'aronia' ), 'param_name' => 'taxonomies', 'settings' => array( 'multiple' => true, 'min_length' => 1, 'groups' => true, // In UI show results grouped by groups, default false 'unique_values' => true, // In UI show results except selected. NB! You should manually check values in backend, default false 'display_inline' => true, // In UI show results inline view, default false (each value in own line) 'delay' => 500, // delay for search. default 500 'auto_focus' => true, // auto focus input, default true ), 'param_holder_class' => 'vc_not-for-custom', 'description' => esc_attr__( 'Enter categories, tags or custom taxonomies.', 'aronia' ), 'group' => esc_attr__( "Data Settings", "aronia" ), ), array( "type" => "textfield", "heading" => esc_attr__( "Post Count", "aronia" ), 'description' => esc_attr__( "Number of posts to show, if pagination is active, represent number of posts per page", "aronia" ), "param_name" => "count", 'group' => esc_attr__( "Data Settings", "aronia" ), 'std' => '12' ), array( "type" => "dropdown", "holder" => "", "heading" => esc_attr__( "Order By", "aronia" ), "param_name" => "order_by", "value" => array( esc_attr__( 'None', 'aronia' ) => 'none', esc_attr__( 'Date', 'aronia' ) => 'date', esc_attr__( 'Post ID', 'aronia' ) => 'ID', esc_attr__( 'Title', 'aronia' ) => 'title', esc_attr__( 'Random', 'aronia' ) => 'rand', esc_attr__( 'Preserve Include Order', 'aronia' ) => 'post__in' ), 'group' => esc_attr__( "Data Settings", "aronia" ), 'std' => 'date', 'edit_field_class' => 'vc_col-xs-6', ), array( "type" => "dropdown", "holder" => "", "heading" => esc_attr__( "Order", "aronia" ), "param_name" => "order", "value" => array( esc_attr__( 'DESC', 'aronia' ) => 'desc', esc_attr__( 'ASC', 'aronia' ) => 'asc' ), 'group' => esc_attr__( "Data Settings", "aronia" ), 'std' => 'date', 'edit_field_class' => 'vc_col-xs-6', ), array( 'type' => 'autocomplete', 'heading' => esc_attr__( 'Include only', 'aronia' ), 'param_name' => 'include', 'description' => esc_attr__( 'Add posts, pages, etc. by title. Leave empty otherwise', 'aronia' ), 'settings' => array( 'multiple' => true, 'sortable' => true, 'groups' => true, ), 'group' => esc_attr__( 'Data Settings', 'aronia' ), ), array( 'type' => 'autocomplete', 'heading' => esc_attr__( 'Exclude', 'aronia' ), 'param_name' => 'exclude', 'description' => esc_attr__( 'Exclude posts, pages, etc. by title. Leave empty otherwise', 'aronia' ), 'group' => esc_attr__( 'Data Settings', 'aronia' ), 'settings' => array( 'multiple' => true, ), 'param_holder_class' => 'vc_grid-data-type-not-ids', ), array( "type" => "textfield", "heading" => esc_attr__( "Custom Width", "aronia" ), "param_name" => "custom_width", "std" => '', "description" => esc_attr__( "Set a custom width for blog items of this element. Leave empty to use the default. For example 600px", "aronia" ), 'group' => esc_attr__( "Custom Design", "aronia" ) ), array( "type" => "textfield", "heading" => esc_attr__( "Custom Heading Size", "aronia" ), "param_name" => "custom_heading_size", "std" => '', "description" => esc_attr__( "Set a custom heading size for blog items of this element. Leave empty to use the default. Use example: 24px. This is applicable only on large screens.", "aronia" ), 'group' => esc_attr__( "Custom Design", "aronia" ) ), array( "type" => "textfield", "heading" => esc_attr__( "Custom Wrapper Padding", "aronia" ), "param_name" => "custom_wrapper_padding", "std" => '', "description" => esc_attr__( "Set a custom entry wrapper padding for blog items of this element. Leave empty to use the default. Use example: 24px. This is applicable only on large screens.", "aronia" ), 'group' => esc_attr__( "Custom Design", "aronia" ) ), array( "type" => "colorpicker", "heading" => esc_attr__( "Custom Wrapper BG Color", "aronia" ), "param_name" => "custom_wrapper_color", "std" => '', "description" => esc_attr__( "Set a custom color for content wrapper on each item of this element", "aronia" ), 'group' => esc_attr__( "Custom Design", "aronia" ) ), array( "type" => "textfield", "heading" => esc_attr__( "Custom Grid Gap", "aronia" ), "param_name" => "custom_grid_gap", "std" => '', "description" => esc_attr__( "Set custom grid gap between grid-blocks or isotope items, ex: 5px", "aronia" ), 'group' => esc_attr__( "Custom Design", "aronia" ), 'dependency' => array( 'element' => 'module', 'value' => array( 'grid-blocks', 'isotope' ) ), ), array( "type" => "dropdown", "heading" => esc_attr__( "Title Design", "aronia" ), "param_name" => "title_design", "value" => array( esc_attr__( 'Only Text', 'aronia' ) => 'only_text', esc_attr__( 'With BG and Border', 'aronia' ) => 'with_bg', ), 'group' => esc_attr__( "Custom Design", "aronia" ), 'std' => 'only_text' ), array( "type" => "dropdown", "heading" => esc_attr__( "Custom Posts Text Color", "aronia" ), "param_name" => "post_text_color", "value" => array( esc_attr__( 'Dark', 'aronia' ) => 'dark', esc_attr__( 'Light', 'aronia' ) => 'light', ), 'group' => esc_attr__( "Custom Design", "aronia" ), 'std' => 'dark' ), array( "type" => "dropdown", "heading" => esc_attr__( "Carousel Nav Position", "aronia" ), "param_name" => "carousel_nav_position", "value" => array( esc_attr__( 'Left', 'aronia' ) => 'left', esc_attr__( 'Center', 'aronia' ) => 'center', ), 'group' => esc_attr__( "Custom Design", "aronia" ), 'std' => 'left' ), ) )); class WPBakeryShortCode_cl_posts extends WPBakeryShortCode {} vc_map(array( 'name' => "Video Posts Gallery", 'base' => "cl_video_gallery", 'show_settings_on_create' => true, 'category' => esc_html__("Aronia",'aronia'), 'icon' => 'icon-blog', 'description' => 'Use this element to add video post gallery', 'js_view' => '', 'params' => array( array( "type" => "textfield", "holder" => "h3", "heading" => esc_attr__( "Title", "aronia" ), "param_name" => "title", "value" => esc_attr__( "", "aronia" ), "description" => esc_attr__( "Widget Title, leave empty if you don't need one", "aronia" ) ), array( 'type' => 'autocomplete', 'heading' => esc_attr__( 'Data Source', 'aronia' ), 'param_name' => 'taxonomies', 'settings' => array( 'multiple' => true, 'min_length' => 1, 'groups' => true, // In UI show results grouped by groups, default false 'unique_values' => true, // In UI show results except selected. NB! You should manually check values in backend, default false 'display_inline' => true, // In UI show results inline view, default false (each value in own line) 'delay' => 500, // delay for search. default 500 'auto_focus' => true, // auto focus input, default true ), 'param_holder_class' => 'vc_not-for-custom', 'description' => esc_attr__( 'Enter categories, tags or custom taxonomies.', 'aronia' ), ), array( 'type' => 'autocomplete', 'heading' => esc_attr__( 'Featured Video Post', 'aronia' ), 'param_name' => 'featured', 'description' => esc_attr__( 'Select the Featured Video that will display as default', 'aronia' ), 'settings' => array( 'multiple' => false, 'sortable' => false, 'groups' => true, ) ), array( "type" => "textfield", "heading" => esc_attr__( "Video Post Count", "aronia" ), 'description' => esc_attr__( "Number of video posts to show.", "aronia" ), "param_name" => "count", 'std' => '12' ), ) )); class WPBakeryShortCode_cl_video_gallery extends WPBakeryShortCode {} vc_map(array( 'name' => "Codeless Button", 'base' => "cl_button", 'show_settings_on_create' => true, 'category' => esc_html__("Aronia",'aronia'), 'icon' => 'icon-blog', 'description' => 'Use this element to add codeless button. Different from visual composer button', 'js_view' => '', 'params' => array( array( "type" => "textfield", "heading" => esc_attr__( "Text", "aronia" ), 'description' => esc_attr__( "Text of the button", "aronia" ), "param_name" => "text", 'std' => 'Click Me' ), array( "type" => "textfield", "heading" => esc_attr__( "Link", "aronia" ), "param_name" => "link", 'std' => '#' ), array( "type" => "dropdown", "heading" => esc_attr__( "Button Color", "aronia" ), "param_name" => "button_color", "value" => array( esc_attr__( 'Default', 'aronia' ) => 'default', esc_attr__( 'Normal', 'aronia' ) => 'normal', esc_attr__( 'Alternate', 'aronia' ) => 'alternate', ), 'std' => 'default' ), array( "type" => "dropdown", "heading" => esc_attr__( "Button Size", "aronia" ), "param_name" => "button_size", "value" => array( esc_attr__( 'Default', 'aronia' ) => 'default', esc_attr__( 'Small', 'aronia' ) => 'small', esc_attr__( 'Medium', 'aronia' ) => 'medium', esc_attr__( 'Large', 'aronia' ) => 'large', ), 'std' => 'default' ), array( "type" => "dropdown", "heading" => esc_attr__( "Button Style", "aronia" ), "param_name" => "button_style", "value" => array( esc_attr__( 'Default', 'aronia' ) => 'default', esc_attr__( 'Square', 'aronia' ) => 'square', esc_attr__( 'Small Radius', 'aronia' ) => 'small-radius', esc_attr__( 'Rounded', 'aronia' ) => 'rounded', ), 'std' => 'default' ), array( "type" => "dropdown", "heading" => esc_attr__( "Align", "aronia" ), "param_name" => "align", "value" => array( esc_attr__( 'Left', 'aronia' ) => 'left', esc_attr__( 'Center', 'aronia' ) => 'center', esc_attr__( 'Right', 'aronia' ) => 'right', ), 'std' => 'center' ), ) )); class WPBakeryShortCode_cl_button extends WPBakeryShortCode {} vc_map(array( 'name' => "Featured Box", 'base' => "cl_featured_box", 'show_settings_on_create' => true, 'category' => esc_html__("Aronia",'aronia'), 'icon' => 'icon-blog', 'description' => 'Add a featured box with Image and Link', 'js_view' => '', 'params' => array( array( "type" => "textfield", "heading" => esc_attr__( "Text", "aronia" ), 'description' => esc_attr__( "Text of the box", "aronia" ), "param_name" => "text", 'std' => 'Click Me' ), array( "type" => "textfield", "heading" => esc_attr__( "Description", "aronia" ), 'description' => esc_attr__( "Description (available only in some styles)", "aronia" ), "param_name" => "description", 'std' => 'Click Me' ), array( "type" => "textfield", "heading" => esc_attr__( "Link", "aronia" ), "param_name" => "link", 'std' => '#' ), array( "type" => "dropdown", "heading" => esc_attr__( "Box Style", "aronia" ), "param_name" => "style", "value" => array( esc_attr__( 'Style 1', 'aronia' ) => 'style-1', ), 'std' => 'style-1' ), array( "type" => "attach_image", "heading" => esc_attr__( "Image", "aronia" ), "param_name" => "image", ), array( "type" => "textfield", "holder" => "", "heading" => esc_attr__( "Image Size", "aronia" ), 'description' => esc_attr__( 'Enter image size (Example: "thumbnail", "medium", "large", "full" or other sizes defined by theme). Find theme sizes here: Codeless -> Codeless Image Sizes', 'aronia' ), "param_name" => "image_size", "value" => '', 'std' => 'theme_default', ), ) )); class WPBakeryShortCode_cl_featured_box extends WPBakeryShortCode {} /*vc_map(array( 'name' => "Portfolio", 'base' => "cl_portfolio", 'show_settings_on_create' => true, 'category' => esc_html__("Aronia",'aronia'), 'icon' => 'icon-blog', 'description' => '', 'js_view' => '', 'params' => array( ) )); class WPBakeryShortCode_cl_portfolio extends WPBakeryShortCode {}*/ vc_add_param( 'vc_widget_sidebar', array( "type" => "textfield", "heading" => esc_attr__( "Sticky Widgets from Bottom", "aronia" ), 'description' => esc_attr__( "Number of widgets to make sticky on this sidebar.", "aronia" ), "param_name" => "sticky_widgets", 'std' => 0 )); add_filter( 'vc_autocomplete_cl_posts_taxonomies_callback', 'cl_autocomplete_taxonomies_field_search', 10, 1 ); add_filter( 'vc_autocomplete_cl_posts_taxonomies_render', 'cl_autocomplete_taxonomies_field_render', 10, 1 ); add_filter( 'vc_autocomplete_cl_video_gallery_taxonomies_callback', 'cl_autocomplete_taxonomies_field_search', 10, 1 ); add_filter( 'vc_autocomplete_cl_video_gallery_taxonomies_render', 'cl_autocomplete_taxonomies_field_render', 10, 1 ); add_filter( 'vc_autocomplete_cl_posts_exclude_callback', 'cl_exclude_field_search', 10, 1 ); // Get suggestion(find). Must return an array add_filter( 'vc_autocomplete_cl_posts_exclude_render', 'cl_exclude_field_render', 10, 1 ); add_filter( 'vc_autocomplete_cl_posts_include_callback', 'cl_include_field_search', 10, 1 ); // Get suggestion(find). Must return an array add_filter( 'vc_autocomplete_cl_posts_include_render', 'cl_include_field_render', 10, 1 ); add_filter( 'vc_autocomplete_cl_video_gallery_featured_callback', 'cl_include_field_search', 10, 1 ); // Get suggestion(find). Must return an array add_filter( 'vc_autocomplete_cl_video_gallery_featured_render', 'cl_include_field_render', 10, 1 ); function cl_autocomplete_taxonomies_field_render( $term ) { $terms = get_terms( array('category', 'post_tag'), array( 'include' => array( $term['value'] ), 'hide_empty' => false, ) ); $data = false; if ( is_array( $terms ) && 1 === count( $terms ) ) { $term = $terms[0]; $data = vc_get_term_object( $term ); } return $data; } function cl_autocomplete_taxonomies_field_search( $search_string ) { $data = array(); $vc_filter_by = vc_post_param( 'vc_filter_by', '' ); $vc_taxonomies = get_terms( array('category', 'post_tag'), array( 'hide_empty' => false, 'search' => $search_string, ) ); if ( is_array( $vc_taxonomies ) && ! empty( $vc_taxonomies ) ) { foreach ( $vc_taxonomies as $t ) { if ( is_object( $t ) ) { $data[] = vc_get_term_object( $t ); } } } return $data; } function cl_include_field_search( $search_string ) { $query = $search_string; $data = array(); $args = array( 's' => $query, 'post_type' => 'post', ); $args['vc_search_by_title_only'] = true; $args['numberposts'] = - 1; if ( 0 === strlen( $args['s'] ) ) { unset( $args['s'] ); } add_filter( 'posts_search', 'vc_search_by_title_only', 500, 2 ); $posts = get_posts( $args ); if ( is_array( $posts ) && ! empty( $posts ) ) { foreach ( $posts as $post ) { $data[] = array( 'value' => $post->ID, 'label' => $post->post_title, 'group' => $post->post_type, ); } } return $data; } function cl_include_field_render( $value ) { $post = get_post( $value['value'] ); return is_null( $post ) ? false : array( 'label' => $post->post_title, 'value' => $post->ID, 'group' => $post->post_type, ); } function cl_exclude_field_search( $data_arr ) { $query = isset( $data_arr['query'] ) ? $data_arr['query'] : null; $term = isset( $data_arr['term'] ) ? $data_arr['term'] : ''; $data = array(); $args = ! empty( $query ) ? array( 's' => $term, 'post_type' => 'post', ) : array( 's' => $term, 'post_type' => 'post', ); $args['vc_search_by_title_only'] = true; $args['numberposts'] = - 1; if ( 0 === strlen( $args['s'] ) ) { unset( $args['s'] ); } add_filter( 'posts_search', 'vc_search_by_title_only', 500, 2 ); $posts = get_posts( $args ); if ( is_array( $posts ) && ! empty( $posts ) ) { foreach ( $posts as $post ) { $data[] = array( 'value' => $post->ID, 'label' => $post->post_title, 'group' => $post->post_type, ); } } return $data; } function cl_exclude_field_render( $value ) { $post = get_post( $value['value'] ); return is_null( $post ) ? false : array( 'label' => $post->post_title, 'value' => $post->ID, 'group' => $post->post_type, ); } remove_action( 'vc_activation_hook', 'vc_page_welcome_set_redirect' ); remove_action( 'admin_init', 'vc_page_welcome_redirect' ); add_filter( 'vc_get_all_templates', 'codeless_modify_default_template_name', 999 ); function codeless_modify_default_template_name($data){ $data[1]['category_name'] = esc_attr__('Aronia Templates', 'aronia'); $data[1]['category_description'] = esc_attr__( 'Append predefined Aronia Templates to the actual layout', 'aronia' ); $default_templates = visual_composer()->templatesPanelEditor()->getDefaultTemplates(); foreach( $data[1]['templates'] as $index => $template_data ){ if( isset( $template_data['unique_id'] ) && isset( $default_templates[ $template_data['unique_id'] ] ) ){ $data[1]['templates'][$index]['cat_display_name'] = isset( $default_templates[ $template_data['unique_id'] ]['cat_display_name'] ) ? $default_templates[$template_data['unique_id']]['cat_display_name'] : ''; } } $data[1]['category_weight'] = 5; return $data; } add_filter( 'vc_templates_render_category', 'codeless_templates_render_category', 999 ); function codeless_templates_render_category($category){ if( $category['category'] == 'default_templates' ){ $output = $category['output']; $category['output'] = '
'; $category['output'] .= ''; $category['output'] .= '
'; $category['output'] .= '
'; $category['output'] .= $output; $category['output'] .= '
'; } return $category; } add_filter( 'vc_templates_render_template', 'codeless_templates_render_template', 99, 2 ); function codeless_templates_render_template($name, $template){ $name = $template['name']; $cat_display_name = isset( $template['cat_display_name'] ) ? $template['cat_display_name'] : ''; $output = ''; $output .= '
'; if( isset( $template['image'] ) && !empty( $template['image'] ) ) $output .= '
'.$name.'
'; $output .= '
'; $output .= '
'.$cat_display_name.'
'; $output .= $name; $output .= '
'; $output .= ''; $output .= '
'; return $output; } add_action( 'vc_load_default_templates_action','codeless_templates_for_vc' ); function codeless_vc_cat_list(){ $cat_display_names = array( 'ajax' => __('Ajax', 'aronia'), 'blog' => __('Blog', 'aronia'), 'block' => __('Posts Block', 'aronia'), 'carousel' => __('Carousel', 'aronia'), 'featured' => __('Featured', 'aronia'), 'grid' => __('Grid', 'aronia'), 'masonry' => __('Masonry', 'aronia'), 'magazine' => __('Magazine', 'aronia'), ); return $cat_display_names; } function codeless_templates_for_vc() { $cat_display_names = codeless_vc_cat_list(); // Blog Masonry 2 Columns $data = array(); $data['name'] = __( 'Blog Masonry 2 Columns', 'aronia' ); $data['cat_display_name'] = $cat_display_names['blog'] .', '. $cat_display_names['masonry']; $data['custom_class'] = 'blog masonry'; $data['image_path'] = preg_replace( '/\s/', '%20', get_template_directory_uri() .'/img/templates/blog-masonry-two-columns.jpg' ); $data['content'] = <<