Read More →'; } add_filter('excerpt_more', 'skt_excerpt_more'); /************* Custom Page Title *********** @use if (function_exists('skt_title')){skt_title();} ************* Custom Page Title ***********/ function skt_title(){ $skt_title = null; if ( is_home() && !is_front_page() ){ $skt_title .= get_bloginfo('name'); $skt_title .= ' | '; $skt_title .= get_bloginfo('description'); } if ( is_front_page() ){ $skt_title .= get_bloginfo('name'); $skt_title .= ' | '; $skt_title .= get_bloginfo('description'); } if ( is_search() ) { $skt_title .= __('Search Results: ','bizstudio'); $skt_title .= get_search_query(); $skt_title .= ' | '; $skt_title .= get_bloginfo('name'); } if ( is_author() ) { global $wp_query; $curauth = $wp_query->get_queried_object(); $skt_title .= __('Author: ','bizstudio'); $skt_title .= $curauth->display_name; $skt_title .= ' | '; $skt_title .= get_bloginfo('name'); } if ( is_single() ) { $skt_title .= wp_title( '|', true, 'right' ); $skt_title .= get_bloginfo('name'); } if ( is_page() && !is_front_page() ) { $skt_title .= wp_title( '|', true, 'right' ); $skt_title .= get_bloginfo('name'); } if ( is_category() ) { $skt_title .= single_cat_title(); $skt_title .= __(' | Category Archive | ','bizstudio'); $skt_title .= get_bloginfo('name'); } if (is_archive() && is_year() ) { $skt_title .= wp_title(''); $skt_title .= ' | '; $skt_title .= get_bloginfo('name'); } if (is_archive() && is_month() ) { $skt_title .= wp_title(''); $skt_title .= ' | '; $skt_title .= get_bloginfo('name'); } if (is_archive() && is_day() ) { $skt_title .= wp_title(''); $skt_title .= ' | '; $skt_title .= get_bloginfo('name'); } if (function_exists('is_tag')) { if ( is_tag() ) { $skt_title .= __('Tag Archive: ','bizstudio'); $skt_title .= single_tag_title("", false); $skt_title .= ' | '; $skt_title .= get_bloginfo('name'); } } echo $skt_title; } /******************************************** EXCERPT CONTROLL FUNCTION *********************************************/ function skt_limit_words($string, $word_limit) { $words = explode(' ', $string); return implode(' ', array_slice($words, 0, $word_limit)); } /******************************************** PAGINATION ********************************************* * Retrieve or display pagination code. * * The defaults for overwriting are: * 'page' - Default is null (int). The current page. This function will * automatically determine the value. * 'pages' - Default is null (int). The total number of pages. This function will * automatically determine the value. * 'range' - Default is 3 (int). The number of page links to show before and after * the current page. * 'gap' - Default is 3 (int). The minimum number of pages before a gap is * replaced with ellipses (...). * 'anchor' - Default is 1 (int). The number of links to always show at begining * and end of pagination * 'before' - Default is '
' (string). The html or text * to add before the pagination links. * 'after' - Default is '
' (string). The html or text to add after the * pagination links. * 'title' - Default is '__('Pages:', 'bizstudio')' (string). The text to display before the * pagination links. * 'next_page' - Default is '__('»', 'bizstudio')' (string). The text to use for the * next page link. * 'previous_page' - Default is '__('«', 'bizstudio')' (string). The text to use for the * previous page link. * 'echo' - Default is 1 (int). To return the code instead of echo'ing, set this * to 0 (zero). * * * @param array|string $args Optional. Override default arguments. * @return string HTML content, if not displaying. * * * Usage: * * * */ function skt_paginate($args = null) { global $themename, $shortname; $defaults = array( 'page' => null, 'pages' => null, 'range' => 3, 'gap' => 3, 'anchor' => 1, 'before' => '
', 'after' => '
', 'title' => __('', 'bizstudio'), 'nextpage' => __('Next ›', 'bizstudio'), 'previouspage' => __('‹ Previous', 'bizstudio'), 'echo' => 1 ); $r = wp_parse_args($args, $defaults); extract($r, EXTR_SKIP); if (!$page && !$pages) { global $wp_query; $page = get_query_var('paged'); $page = !empty($page) ? intval($page) : 1; $posts_per_page = intval(get_query_var('posts_per_page')); $pages = intval(ceil($wp_query->found_posts / $posts_per_page)); } $output = ""; if ($pages > 1) { $output .= "$before$title"; $ellipsis = "..."; if ($page > 1 && !empty($previouspage)) { $output .= "$previouspage"; } $min_links = $range * 2 + 1; $block_min = min($page - $range, $pages - $min_links); $block_high = max($page + $range, $min_links); $left_gap = (($block_min - $anchor - $gap) > 0) ? true : false; $right_gap = (($block_high + $anchor + $gap) < $pages) ? true : false; if ($left_gap && !$right_gap) { $output .= sprintf('%s%s%s', skt_paginate_loop(1, $anchor), $ellipsis, skt_paginate_loop($block_min, $pages, $page) ); } else if ($left_gap && $right_gap) { $output .= sprintf('%s%s%s%s%s', skt_paginate_loop(1, $anchor), $ellipsis, skt_paginate_loop($block_min, $block_high, $page), $ellipsis, skt_paginate_loop(($pages - $anchor + 1), $pages) ); } else if ($right_gap && !$left_gap) { $output .= sprintf('%s%s%s', skt_paginate_loop(1, $block_high, $page), $ellipsis, skt_paginate_loop(($pages - $anchor + 1), $pages) ); } else { $output .= skt_paginate_loop(1, $pages, $page); } if ($page < $pages && !empty($nextpage)) { $output .= "$nextpage"; } $output .= $after; } if ($echo) { echo $output; } return $output; } /** * Helper function for pagination which builds the page links. * * @access private * * @param int $start The first link page. * @param int $max The last link page. * @return int $page Optional, default is 0. The current page. */ function skt_paginate_loop($start, $max, $page = 0) { global $themename, $shortname; $output = ""; for ($i = $start; $i <= $max; $i++) { $output .= ($page === intval($i)) ? "$i" : "$i"; } return $output; } /******************************************** Contact Verify .... *********************************************/ add_action('wp_ajax_skt-contact-verify', 'skt_contact_verify'); add_action('wp_ajax_nopriv_skt-contact-verify', 'skt_contact_verify'); function skt_contact_verify(){ global $themename; global $shortname; //Check to make sure that the name field is not empty if(trim($_POST['contactname']) == '') { $hasError = true; } else { $name = trim($_POST['contactname']); } //Check to make sure that the subject field is not empty if(trim($_POST['subject']) == '') { $hasError = true; } else { $subject = trim($_POST['subject']); } //Check to make sure sure that a valid email address is submitted if(trim($_POST['email']) == '') { $hasError = true; }else if (!preg_match("/^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}$/i", trim($_POST['email']))) { $hasError = true; } else { $email = trim($_POST['email']); } //Check to make sure comments were entered if(trim($_POST['message']) == '') { $hasError = true; } else { if(function_exists('stripslashes')) { $comments = stripslashes(trim($_POST['message'])); } else { $comments = trim($_POST['message']); } } //extracting to email if(sketch_get_option($shortname.'_contact_email')) $toEmail= sketch_get_option($shortname.'_contact_email'); else $toEmail= get_option('admin_email'); //If there is no error, send the email if(!isset($hasError)) { $site_name = get_bloginfo('name'); $site_url = home_url(); $ip_add = $_SERVER['REMOTE_ADDR']; $emailTo = $toEmail; //Put your own email address here $body = "New message from $name

"; $body .= "Name: $name
Email: $email
Subject: $subject
Message:
$comments"; $body .= "

This mail is sent via contact form on $site_name $site_url from IP Address $ip_add"; $headers = "From: " . $email . "\r\n"; $headers .= "Reply-To: ". $emailTo . "\r\n"; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n"; @mail($emailTo, $subject, $body, $headers); $emailSent = true; _e('Your contact Form has been submitted. Thank you.', 'bizstudio'); } else { _e("Please check if you've filled all the fields with valid information. Thank you.", "bizstudio"); } die(); } /******* theme check fix ***********/ if ( ! isset( $content_width ) ){ $content_width = 900; } /************************************************* Redirect to Theme setting page after activation **************************************************/ if(is_admin() && isset($_GET['activated']) && $pagenow =='themes.php'){ //Do redirect global $shortname; header( 'Location: '.admin_url().'admin.php?page=options-framework' ) ; } /************************************************** * * Function for selecting contact us page * **************************************************/ function select_template($pg_id) { //deleting previous postmeta global $wpdb; $wpdb->query("DELETE FROM $wpdb->postmeta WHERE meta_key = '_wp_page_template' AND meta_value = 'template-contact-us.php'"); //updating postmeta update_post_meta($pg_id, '_wp_page_template', 'template-contact-us.php'); } /********************************************* * * to check if a page template is active * *********************************************/ function is_pagetemplate_active($pagetemplate = '') { global $wpdb; $sql = "select meta_key from $wpdb->postmeta where meta_key like '_wp_page_template' and meta_value like '" . $pagetemplate . "'"; $result = $wpdb->query($sql); if ($result) { return TRUE; } else { return FALSE; } } /*******************************************/ define('SKETCH_URL', 'http://www.sketchthemes.com/'); /********************************************* * limit words *********************************************/ function skt_slider_limit_words($string, $word_limit) { $words = explode(' ', $string); return implode(' ', array_slice($words, 0, $word_limit)); } //Background style function skt_bg_style($option) { $background = sketch_get_option($option); $bg_style = NULL; if ($background) { if($background['image']){ if ($background['color']) $bg_style .= 'background:'.$background['color']; if ($background['image']) $bg_style .= ' url('.$background['image'].')'; if ($background['repeat']) $bg_style .= ' '.$background['repeat']; if ($background['attachment']) $bg_style .= ' '.$background['attachment']; if ($background['position']) $bg_style .= ' '.$background['position']. ';'; } else{ if ($background['color']) $bg_style .= 'background:'.$background['color']; } } return $bg_style; }