$transition_type, 'controls' => $display_controls, 'speed' => $transition_speed, 'pause' => $transition_pause, 'pager' => $display_pager, 'auto' => $auto_transition )); } add_action('eightmedi_lite_homepage_slider','eightmedi_lite_homepage_slider_content', 10); //homepage slider content function eightmedi_lite_homepage_slider_content(){ $display_slider = absint ( get_theme_mod('eightmedi_lite_display_slider','1') ); $display_captions = absint ( get_theme_mod('eightmedi_lite_slider_text', '1') ); if( $display_slider == "1"){ ?>
/', '', $eightmedi_lite_text)) <= $eightmedi_lite_length) { return $eightmedi_lite_text; } // splits all html-tags to scanable lines preg_match_all('/(<.+?>)?([^<>]*)/s', $eightmedi_lite_text, $eightmedi_lite_lines, PREG_SET_ORDER); $eightmedi_lite_total_length = strlen($eightmedi_lite_ending); $eightmedi_lite_open_tags = array(); $eightmedi_lite_truncate = ''; foreach ($eightmedi_lite_lines as $eightmedi_lite_line_matchings) { // if there is any html-tag in this line, handle it and add it (uncounted) to the output if (!empty($eightmedi_lite_line_matchings[1])) { // if it’s an “empty element” with or without xhtml-conform closing slash (f.e.) if (preg_match('/^<(\s*.+?\/\s*|\s*(img|br|input|hr|area|base|basefont|col|frame|isindex|link|meta|param)(\s.+?)?)>$/is', $eightmedi_lite_line_matchings[1])) { // do nothing // if tag is a closing tag (f.e.) } else if (preg_match('/^<\s*\/([^\s]+?)\s*>$/s', $eightmedi_lite_line_matchings[1], $eightmedi_lite_tag_matchings)) { // delete tag from $open_tags list $eightmedi_lite_pos = array_search($eightmedi_lite_tag_matchings[1], $eightmedi_lite_open_tags); if ($eightmedi_lite_pos !== false) { unset($eightmedi_lite_open_tags[$eightmedi_lite_pos]); } // if tag is an opening tag (f.e. ) } else if (preg_match('/^<\s*([^\s>!]+).*?>$/s', $eightmedi_lite_line_matchings[1], $eightmedi_lite_tag_matchings)) { // add tag to the beginning of $open_tags list array_unshift($eightmedi_lite_open_tags, strtolower($eightmedi_lite_tag_matchings[1])); } // add html-tag to $truncate’d text $eightmedi_lite_truncate .= $eightmedi_lite_line_matchings[1]; } // calculate the length of the plain text part of the line; handle entities as one character $eightmedi_lite_content_length = strlen(preg_replace('/&[0-9a-z]{2,8};|[0-9]{1,7};|[0-9a-f]{1,6};/i', ' ', $eightmedi_lite_line_matchings[2])); if ($eightmedi_lite_total_length+$eightmedi_lite_content_length > $eightmedi_lite_length) { // the number of characters which are left $eightmedi_lite_left = $eightmedi_lite_length - $eightmedi_lite_total_length; $eightmedi_lite_entities_length = 0; // search for html entities if (preg_match_all('/&[0-9a-z]{2,8};|[0-9]{1,7};|[0-9a-f]{1,6};/i', $eightmedi_lite_line_matchings[2], $eightmedi_lite_entities, PREG_OFFSET_CAPTURE)) { // calculate the real length of all entities in the legal range foreach ($eightmedi_lite_entities[0] as $eightmedi_lite_entity) { if ($eightmedi_lite_entity[1]+1-$eightmedi_lite_entities_length <= $eightmedi_lite_left) { $eightmedi_lite_left--; $eightmedi_lite_entities_length += strlen($eightmedi_lite_entity[0]); } else { // no more characters left break; } } } $eightmedi_lite_truncate .= substr($eightmedi_lite_line_matchings[2], 0, $eightmedi_lite_left+$eightmedi_lite_entities_length); // maximum lenght is reached, so get off the loop break; } else { $eightmedi_lite_truncate .= $eightmedi_lite_line_matchings[2]; $eightmedi_lite_total_length += $eightmedi_lite_content_length; } // if the maximum length is reached, get off the loop if($eightmedi_lite_total_length >= $eightmedi_lite_length) { break; } } } else { if (strlen($eightmedi_lite_text) <= $eightmedi_lite_length) { return $eightmedi_lite_text; } else { $eightmedi_lite_truncate = substr($eightmedi_lite_text, 0, $eightmedi_lite_length - strlen($eightmedi_lite_ending)); } } // if the words shouldn't be cut in the middle... if (!$eightmedi_lite_exact) { // ...search the last occurance of a space... $eightmedi_lite_spacepos = strrpos($eightmedi_lite_truncate, ' '); if (isset($eightmedi_lite_spacepos)) { // ...and cut the text in this position $eightmedi_lite_truncate = substr($eightmedi_lite_truncate, 0, $eightmedi_lite_spacepos); } } // add the defined ending to the text $eightmedi_lite_truncate .= $eightmedi_lite_ending; if($eightmedi_lite_considerHtml) { // close all unclosed html-tags foreach ($eightmedi_lite_open_tags as $eightmedi_lite_tag) { $eightmedi_lite_truncate .= ''; } } return $eightmedi_lite_truncate; } remove_action( 'woocommerce_before_main_content', 'woocommerce_output_content_wrapper', 10); remove_action( 'woocommerce_after_main_content', 'woocommerce_output_content_wrapper_end', 10); function eightmedi_lite_wrapper_start() { echo '