config['php_class'] = get_class($this);
// element id
$this->config['id'] = 'woo_carousel';
// element name
$this->config['name'] = __('Woo Carousel', 'fusion-core');
// element icon
$this->config['icon_url'] = "icons/sc-text_block.png";
// css class related to this element
$this->config['css_class'] = "fusion_element_box";
// element icon class
$this->config['icon_class'] = 'fusion-icon builder-options-icon fusiona-tag';
// tooltip that will be displyed upon mouse over the element
//$this->config['tool_tip'] = 'Creates a Woo Slider';
// any special html data attribute (i.e. data-width) needs to be passed
// drop_level: elements with higher drop level can be dropped in elements with lower drop_level,
// i.e. element with drop_level = 2 can be dropped in element with drop_level = 0 or 1 only.
$this->config['data'] = array("drop_level" => "4");
}
// override default implemenation for this function as this element have special view
public function create_visual_editor( $params ) {
$innerHtml = '
';
$innerHtml .= '
'.__('Woo Carousel', 'fusion-core').'
';
$innerHtml .= '
';
$this->config['innerHtml'] = $innerHtml;
}
// This function generates array of woo-commerce categories
function get_woo_commerce_categories () {
//Check if WooCommerce is active
if ( in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) ) {
$taxonomy = 'product_cat';
$orderby = 'name';
$show_count = 0; // 1 for yes, 0 for no
$pad_counts = 0; // 1 for yes, 0 for no
$hierarchical = 1; // 1 for yes, 0 for no
$title = '';
$empty = 0;
$args = array(
'taxonomy' => $taxonomy,
'orderby' => $orderby,
'show_count' => $show_count,
'pad_counts' => $pad_counts,
'hierarchical' => $hierarchical,
'title_li' => $title,
'hide_empty' => $empty
);
$categories_list = array();
$all_categories = get_categories( $args );
if( is_wp_error($all_categories) || isset($all_categories['errors'])) { return $categories_list; }
foreach ( $all_categories as $category ) {
$data = array (
$category->slug => $category->name." (".$category->category_count.")" //category name and post count
);
$categories_list += $data;
}
return $categories_list;
} else {
return array();
}
}
//this function defines TextBlock sub elements or structure
function popup_elements() {
$woo_commerce_categories = $this->get_woo_commerce_categories();
$choices = Helper::get_shortcode_choices();
$this->config['subElements'] = array(
array("name" => __('Picture Size', 'fusion-core'),
"desc" => __('fixed = width and height will be fixed