'Верхнее меню', 'bottom' => 'Нижнее меню', 'left' => 'Левое меню' )); # поддержка миниматюр add_theme_support('post-thumbnails'); # регистрируем размеры миниатюр add_image_size( 'left-thumb', 95, 84, true ); # для левой колонки add_image_size( 'moread', 372, 216, true ); # читайте также add_image_size( 'subscripts', 198, 145, true ); # рассылка #add scripts /** function tutsplus_burger_menu_scripts() { wp_enqueue_script( 'burger-menu-script', get_stylesheet_directory_uri() . '/scripts/burger-menu.js', array( 'jquery' ) ); } add_action( 'wp_enqueue_scripts', 'tutsplus_burger_menu_scripts' ); */ /** add mobile block */ function mob_block($template){ $subclass = " mob-lite"; include get_template_directory().$template; } //свой шаблон для категории add_filter( 'single_template', function ( $single_template ) { foreach( (array) get_the_category() as $cat ) { if ( file_exists(TEMPLATEPATH . "/single-{$cat->slug}.php") ) return TEMPLATEPATH . "/single-{$cat->slug}.php"; } return $single_template; }, PHP_INT_MAX, 2 ); function kuri_set($name = null, $value = null) { static $vars = array(); if ($name == null) return $vars; if ($value == null){ if(array_key_exists($name, $vars)) return $vars[$name]; } else $vars[$name] = $value; return false; } # время для rss function _U2RFC822($date) { $datatime = explode(" ",$date); $dater = explode("-",$datatime[0]); $timer = explode(":",$datatime[1]); return date('r', mktime($timer[0], $timer[1], $timer[2], $dater[1], $dater[2], $dater[0])); } /** * плагин перевода в латиницу */ add_action( 'save_post', 'lat_slug' ); function lat_slug( $post_id ){ if ($post_id < 15789) return; // залитое старье не трогаем // только публикованные || get_post($post_id)->post_status != 'publish' if ( wp_is_post_revision( $post_id )) return; $post = get_posts($post_id); $name = urldecode($post[0]->post_name); if (isContainsRussianLetters($name)) { //если есть русские буковки $title = express_slug($post[0]->post_title); $latname = vij_slug($title); remove_action( 'save_post', 'lat_slug' ); // избегаем зацикливания wp_update_post( array( 'ID' => $post_id, 'post_name' => $latname ) ); add_action( 'save_post', 'lat_slug' ); } } function vij_slug($slug) { $replace = array( 'А' => 'A', 'а' => 'a', 'Б' => 'B', 'б' => 'b', 'В' => 'V', 'в' => 'v', 'Г' => 'G', 'г' => 'g', 'Д' => 'D', 'д' => 'd', 'Е' => 'E', 'е' => 'e', 'Ё' => 'Jo', 'ё' => 'jo', 'Ж' => 'Zh', 'ж' => 'zh', 'З' => 'Z', 'з' => 'z', 'И' => 'I', 'и' => 'i', 'Й' => 'J', 'й' => 'j', 'К' => 'K', 'к' => 'k', 'Л' => 'L', 'л' => 'l', 'М' => 'M', 'м' => 'm', 'Н' => 'N', 'н' => 'n', 'О' => 'O', 'о' => 'o', 'П' => 'P', 'п' => 'p', 'Р' => 'R', 'р' => 'r', 'С' => 'S', 'с' => 's', 'Т' => 'T', 'т' => 't', 'У' => 'U', 'у' => 'u', 'Ф' => 'F', 'ф' => 'f', 'Х' => 'H', 'х' => 'h', 'Ц' => 'C', 'ц' => 'c', 'Ч' => 'Ch', 'ч' => 'ch', 'Ш' => 'Sh', 'ш' => 'sh', 'Щ' => 'Shh', 'щ' => 'shh', 'Ъ' => '', 'ъ' => '', 'Ы' => 'Y', 'ы' => 'y', 'Ь' => '', 'ь' => '', 'Э' => 'E', 'э' => 'e', 'Ю' => 'Ju', 'ю' => 'ju', 'Я' => 'Ya', 'я' => 'ya' ); return strtr($slug, $replace); } function isContainsRussianLetters($text = false) { if ($text !== "") { $len = strlen($text)-1; for ($i=0;$i<=$len;$i++) { if (($i < $len) and (((($ord = ord(substr($text,$i,1))) == 208) and (($ord2 = ord(substr($text,($i+1),1))) == 129) or (($ord2 >= 144) and ($ord2 <= 191))) or ((($ord = ord(substr($text,$i,1))) == 209) and ($ord2 == 145) or (($ord2 >= 128) and ($ord2 <= 143))))) { //Поиск русских букв в UTF-8 return true; } elseif (((($ord = ord(substr($text,$i,1))) >= 192) and (($ord <= 255)) or ($ord == 168) or ($ord == 184))) { //Поиск русских букв в ANSI return true; } } } return false; } function eventdate_str($date){ $month = array( "01" => "января", "02" => "февраля", "03" => "марта", "04" => "апреля", "05" => "мая", "06" => "июня", "07" => "июля", "08" => "августа", "09" => "сентября", "10" => "октября", "11" => "ноября", "12" => "декабря" ); $findT = strpos($date, 'T'); if ($findT){ $currdatetime = substr($date, 0, $findT); } else { $currdatetime = $date; } $currdate = explode("-", $currdatetime); return $currdate[2].' '.$month[$currdate[1]].' '.$currdate[0]; } function express_slug($value){ $result = mb_strtolower(trim($value)); $arr = [ '$' => '', ' ' => '-', '.' => '', '+' => '', '!' => '', '*' => '', '(' => '', ')' => '', ',' => '-', '{' => '', '}' => '', '|' => '-', '^' => '', '~' => '', '[' => '-', ']' => '-', '`' => '', '<' => '', '>' => '', '#' => '', '%' => '', '"' => '', ';' => '', '/' => '', '?' => '', ':' => '', '@' => '', '&' => '', '=' => '', '.' => '', '«' => '', '»' => '', "'"=> '' ]; $result = strtr($result, $arr); return $result; } function eventdate($val){ $posT = strpos($val, 'T'); if ($posT) return $val; } /** * */ if (!function_exists('view')){ function view ($view, $data = array(), $layer = null){ ob_start(); if (is_array($data)) extract($data); if ($layer !== null){ $content = view($view, $data); require $layer; } else require $view; return trim(ob_get_clean()); } } function arr_to_in($items){ $in = array(); foreach ($items as $item){ $in[] = $item['post_id']; } return $in; } function str_to_in($items){ $in = ''; foreach ($items as $item){ if ($in !== '') { $in .= ','; } $in .= $item['post_id']; } return $in; }