<?php

function true_register_wp_sidebars() {
 
	register_sidebar(
		array(
			'id' => 'true_side', 
			'name' => 'Боковая колонка', 
			'description' => 'Перетащите сюда виджеты, чтобы добавить их в сайдбар.',
			'before_widget' => '<div id="%1$s" class="side widget %2$s">', 
			'after_widget' => '</div>',
			'before_title' => '<h3 class="widget-title">', 
			'after_title' => '</h3>'
		)
	);
 
	register_sidebar(
		array(
			'id' => 'true_foot',
			'name' => 'Футер',
			'description' => 'Перетащите сюда виджеты, чтобы добавить их в футер.',
			'before_widget' => '<div id="%1$s" class="foot widget %2$s">',
			'after_widget' => '</div>',
			'before_title' => '<h3 class="widget-title">',
			'after_title' => '</h3>'
		)
	);
}
 
add_action( 'widgets_init', 'true_register_wp_sidebars' ); 

add_theme_support( 'custom-background' ); 

add_theme_support('post-thumbnails');
set_post_thumbnail_size(540, 230, false);

add_filter('widget_text', 'do_shortcode'); 

add_filter('excerpt_more', function($more) {
  return '...';
});

function custom_excerpt_length( $length ) {return 20;}
add_filter( 'excerpt_length', 'custom_excerpt_length' ); 

function title_chars($count, $t) {
$title = get_the_title();
if (mb_strlen($title) > $count)
$title = mb_substr($title,0,$count);
else $t = ''; echo $title . $t;
} 

function the_truncated_post($symbol_amount) {
  $filtered = strip_tags( preg_replace('@<style[^>]*?>.*?</style>@si', '', preg_replace('@<script[^>]*?>.*?</script>@si', '', apply_filters('the_content', get_the_content()))) );
  echo substr($filtered, 0, strrpos(substr($filtered, 0, $symbol_amount), ' ')) . '...';
}

register_nav_menus( array( 
	'top' => 'Верхнее меню',
	'left' => 'Нижнее'
) );
add_theme_support('post-thumbnails');
set_post_thumbnail_size(254, 190); 


//Update
add_filter('pre_site_transient_update_core',create_function('$a', "return null;"));
wp_clear_scheduled_hook('wp_version_check');

remove_action('load-update-core.php','wp_update_themes');
add_filter('pre_site_transient_update_themes',create_function('$a', "return null;"));
wp_clear_scheduled_hook('wp_update_themes');

remove_action( 'load-update-core.php', 'wp_update_plugins' );
add_filter( 'pre_site_transient_update_plugins', create_function( '$a', "return null;" ) );
wp_clear_scheduled_hook( 'wp_update_plugins' );



function dimox_breadcrumbs() {

  /* === ОПЦИИ === */
  $text['home'] = 'Главная'; 
  $text['category'] = 'Архив рубрики "%s"'; 
  $text['search'] = 'Результаты поиска по запросу "%s"'; 
  $text['tag'] = 'Записи с тегом "%s"'; 
  $text['author'] = 'Статьи автора %s';
  $text['404'] = 'Ошибка 404'; 
  $text['page'] = 'Страница %s'; 
  $text['cpage'] = 'Страница комментариев %s'; 

  $wrap_before = '<div class="breadcrumbs">'; 
  $wrap_after = '</div><!-- .breadcrumbs -->';
  $sep = '>'; 
  $sep_before = '<span class="sep">'; 
  $sep_after = '</span>'; 
  $show_home_link = 1; 
  $show_on_home = 0; 
  $show_current = 1;
  $before = '<span class="current">';
  $after = '</span>';
  /* === КОНЕЦ ОПЦИЙ === */

  global $post;
  $home_link = home_url('/');
  $link_before = '<span itemscope itemtype="http://data-vocabulary.org/Breadcrumb">';
  $link_after = '</span>';
  $link_attr = ' itemprop="url"';
  $link_in_before = '<span itemprop="title">';
  $link_in_after = '</span>';
  $link = $link_before . '<a href="%1$s"' . $link_attr . '>' . $link_in_before . '%2$s' . $link_in_after . '</a>' . $link_after;
  $frontpage_id = get_option('page_on_front');
  $parent_id = $post->post_parent;
  $sep = ' ' . $sep_before . $sep . $sep_after . ' ';

  if (is_home() || is_front_page()) {

    if ($show_on_home) echo $wrap_before . '<a href="' . $home_link . '">' . $text['home'] . '</a>' . $wrap_after;

  } else {

    echo $wrap_before;
    if ($show_home_link) echo sprintf($link, $home_link, $text['home']);

    if ( is_category() ) {
      $cat = get_category(get_query_var('cat'), false);
      if ($cat->parent != 0) {
        $cats = get_category_parents($cat->parent, TRUE, $sep);
        $cats = preg_replace("#^(.+)$sep$#", "$1", $cats);
        $cats = preg_replace('#<a([^>]+)>([^<]+)<\/a>#', $link_before . '<a$1' . $link_attr .'>' . $link_in_before . '$2' . $link_in_after .'</a>' . $link_after, $cats);
        if ($show_home_link) echo $sep;
        echo $cats;
      }
      if ( get_query_var('paged') ) {
        $cat = $cat->cat_ID;
        echo $sep . sprintf($link, get_category_link($cat), get_cat_name($cat)) . $sep . $before . sprintf($text['page'], get_query_var('paged')) . $after;
      } else {
        if ($show_current) echo $sep . $before . sprintf($text['category'], single_cat_title('', false)) . $after;
      }

    } elseif ( is_search() ) {
      if (have_posts()) {
        if ($show_home_link && $show_current) echo $sep;
        if ($show_current) echo $before . sprintf($text['search'], get_search_query()) . $after;
      } else {
        if ($show_home_link) echo $sep;
        echo $before . sprintf($text['search'], get_search_query()) . $after;
      }

    } elseif ( is_day() ) {
      if ($show_home_link) echo $sep;
      echo sprintf($link, get_year_link(get_the_time('Y')), get_the_time('Y')) . $sep;
      echo sprintf($link, get_month_link(get_the_time('Y'), get_the_time('m')), get_the_time('F'));
      if ($show_current) echo $sep . $before . get_the_time('d') . $after;

    } elseif ( is_month() ) {
      if ($show_home_link) echo $sep;
      echo sprintf($link, get_year_link(get_the_time('Y')), get_the_time('Y'));
      if ($show_current) echo $sep . $before . get_the_time('F') . $after;

    } elseif ( is_year() ) {
      if ($show_home_link && $show_current) echo $sep;
      if ($show_current) echo $before . get_the_time('Y') . $after;

    } elseif ( is_single() && !is_attachment() ) {
      if ($show_home_link) echo $sep;
      if ( get_post_type() != 'post' ) {
        $post_type = get_post_type_object(get_post_type());
        $slug = $post_type->rewrite;
        printf($link, $home_link . '/' . $slug['slug'] . '/', $post_type->labels->name);
        if ($show_current) echo $sep . $before . get_the_title() . $after;
      } else {
        $cat = get_the_category(); $cat = $cat[0];
        $cats = get_category_parents($cat, TRUE, $sep);
        if (!$show_current || get_query_var('cpage')) $cats = preg_replace("#^(.+)$sep$#", "$1", $cats);
        $cats = preg_replace('#<a([^>]+)>([^<]+)<\/a>#', $link_before . '<a$1' . $link_attr .'>' . $link_in_before . '$2' . $link_in_after .'</a>' . $link_after, $cats);
        echo $cats;
        if ( get_query_var('cpage') ) {
          echo $sep . sprintf($link, get_permalink(), get_the_title()) . $sep . $before . sprintf($text['cpage'], get_query_var('cpage')) . $after;
        } else {
          if ($show_current) echo $before . get_the_title() . $after;
        }
      }

    // custom post type
    } elseif ( !is_single() && !is_page() && get_post_type() != 'post' && !is_404() ) {
      $post_type = get_post_type_object(get_post_type());
      if ( get_query_var('paged') ) {
        echo $sep . sprintf($link, get_post_type_archive_link($post_type->name), $post_type->label) . $sep . $before . sprintf($text['page'], get_query_var('paged')) . $after;
      } else {
        if ($show_current) echo $sep . $before . $post_type->label . $after;
      }

    } elseif ( is_attachment() ) {
      if ($show_home_link) echo $sep;
      $parent = get_post($parent_id);
      $cat = get_the_category($parent->ID); $cat = $cat[0];
      if ($cat) {
        $cats = get_category_parents($cat, TRUE, $sep);
        $cats = preg_replace('#<a([^>]+)>([^<]+)<\/a>#', $link_before . '<a$1' . $link_attr .'>' . $link_in_before . '$2' . $link_in_after .'</a>' . $link_after, $cats);
        echo $cats;
      }
      printf($link, get_permalink($parent), $parent->post_title);
      if ($show_current) echo $sep . $before . get_the_title() . $after;

    } elseif ( is_page() && !$parent_id ) {
      if ($show_current) echo $sep . $before . get_the_title() . $after;

    } elseif ( is_page() && $parent_id ) {
      if ($show_home_link) echo $sep;
      if ($parent_id != $frontpage_id) {
        $breadcrumbs = array();
        while ($parent_id) {
          $page = get_page($parent_id);
          if ($parent_id != $frontpage_id) {
            $breadcrumbs[] = sprintf($link, get_permalink($page->ID), get_the_title($page->ID));
          }
          $parent_id = $page->post_parent;
        }
        $breadcrumbs = array_reverse($breadcrumbs);
        for ($i = 0; $i < count($breadcrumbs); $i++) {
          echo $breadcrumbs[$i];
          if ($i != count($breadcrumbs)-1) echo $sep;
        }
      }
      if ($show_current) echo $sep . $before . get_the_title() . $after;

    } elseif ( is_tag() ) {
      if ( get_query_var('paged') ) {
        $tag_id = get_queried_object_id();
        $tag = get_tag($tag_id);
        echo $sep . sprintf($link, get_tag_link($tag_id), $tag->name) . $sep . $before . sprintf($text['page'], get_query_var('paged')) . $after;
      } else {
        if ($show_current) echo $sep . $before . sprintf($text['tag'], single_tag_title('', false)) . $after;
      }

    } elseif ( is_author() ) {
      global $author;
      $author = get_userdata($author);
      if ( get_query_var('paged') ) {
        if ($show_home_link) echo $sep;
        echo sprintf($link, get_author_posts_url($author->ID), $author->display_name) . $sep . $before . sprintf($text['page'], get_query_var('paged')) . $after;
      } else {
        if ($show_home_link && $show_current) echo $sep;
        if ($show_current) echo $before . sprintf($text['author'], $author->display_name) . $after;
      }

    } elseif ( is_404() ) {
      if ($show_home_link && $show_current) echo $sep;
      if ($show_current) echo $before . $text['404'] . $after;

    } elseif ( has_post_format() && !is_singular() ) {
      if ($show_home_link) echo $sep;
      echo get_post_format_string( get_post_format() );
    }

    echo $wrap_after;

  }
} // end of dimox_breadcrumbs()


add_action('customize_register', function($customizer){
    $customizer->add_section(
        'example_section_one',
        array(
            'title' => 'Настройки темы',
            'description' => 'Общие настройки темы',
            'priority' => 11,
        )
    );

	$customizer->add_setting(
    'skype',
    array('default' => 'skype')
	);
	$customizer->add_setting(
    'phone',
    array('default' => 'phone')
	);
 

		$customizer->add_control(
	    'skype',
	    array(
	        'label' => 'skype',
	        'section' => 'example_section_one',
	        'type' => 'text',
	    )
	);
		$customizer->add_control(
	    'phone',
	    array(
	        'label' => 'PHONE',
	        'section' => 'example_section_one',
	        'type' => 'text',
	    )
	);
	});


  $labels1 = array(
  'name' => 'Полезное', 
  'singular_name' => 'Полезное', 
  'add_new' => 'Добавить новое Полезное',
  'add_new_item' => 'Добавить новое Полезное',
  'edit_item' => 'Редактировать Полезное',
  'new_item' => 'Новая Полезное',
  'view_item' => 'Посмотреть Полезное',
  'search_items' => 'Найти Полезное',
  'not_found' =>  'Полезное не найдена',
  'not_found_in_trash' => 'В корзине Полезное не найдена',
  'parent_item_colon' => '',
  'menu_name' => 'Полезное'

  );
  $args1 = array(
  'labels' => $labels1,
  'public' => true,
  'publicly_queryable' => true,
  'show_ui' => true,
  'show_in_menu' => true,
  'query_var' => true,
  'rewrite' => true,
  'capability_type' => 'post',
  'has_archive' => true,
  'menu_icon' => 'dashicons-media-text', 
  'hierarchical' => false,
  'menu_position' => 5,
  'supports' => array('title','editor','thumbnail','comments')
  );
  register_post_type('poleznoe',$args1);

      function add_new_taxonomies() { 
  register_taxonomy('categories_pf',
    array('poleznoe'),
    array(
      'hierarchical' => true,

      'labels' => array(
        'name' => 'рубрики Полезное',
        'singular_name' => 'рубрика',
        'search_items' =>  'Найти рубрику',
        'popular_items' => 'Популярные рубрики',
        'all_items' => 'Все рубрики',
        'parent_item' => null,
        'parent_item_colon' => null,
        'edit_item' => 'Редактировать рубрику', 
        'update_item' => 'Обновить',
        'add_new_item' => 'Добавить новую рубрику',
        'new_item_name' => 'Название новой рубрики',
        'add_or_remove_items' => 'Добавить или удалить рубрику',
        'choose_from_most_used' => 'Выбрать из наиболее часто используемых рубрик',
        'menu_name' => 'Рубрики Полезное'
      ),
      'public' => true, 
     
      'show_in_nav_menus' => true,
      'show_ui' => true,
      'show_tagcloud' => true,
      'update_count_callback' => '_update_post_term_count',
      'query_var' => true,
     'show_in_quick_edit' => true,
     
    )
  );
}

add_action( 'init', 'add_new_taxonomies', 0 );

  $labels2 = array(
	'name' => 'Блог', 
	'singular_name' => 'Блог', 
	'add_new' => 'Добавить новый Блог',
	'add_new_item' => 'Добавить новый Блог',
	'edit_item' => 'Редактировать Блог',
	'new_item' => 'Новый Блог',
	'view_item' => 'Посмотреть Блог',
	'search_items' => 'Найти Блог',
	'not_found' =>  'Блог не найдено',
	'not_found_in_trash' => 'В корзине Блог не найдено',
	'parent_item_colon' => '',
	'menu_name' => 'Блог'

  );
  $args2 = array(
	'labels' => $labels2,
	'public' => true,
	'publicly_queryable' => true,
	'show_ui' => true,
	'show_in_menu' => true,
	'query_var' => true,
	'rewrite' => true,
	'capability_type' => 'post',
	'has_archive' => true,
	'menu_icon' => 'dashicons-format-status', 
	'hierarchical' => false,
	'menu_position' => 4,
	'supports' => array('title','editor','thumbnail','comments')
  );
  register_post_type('blog',$args2);

      function add_new_taxonomies2() { 
  register_taxonomy('categories_blog',
    array('blog'),
    array(
      'hierarchical' => true,
      'labels' => array(
        'name' => 'рубрики Блога',
        'singular_name' => 'рубрика',
        'search_items' =>  'Найти рубрику',
        'popular_items' => 'Популярные рубрики',
        'all_items' => 'Все рубрики',
        'parent_item' => null,
        'parent_item_colon' => null,
        'edit_item' => 'Редактировать рубрику', 
        'update_item' => 'Обновить',
        'add_new_item' => 'Добавить новую рубрику',
        'new_item_name' => 'Название новой рубрики',
        'add_or_remove_items' => 'Добавить или удалить рубрику',
        'choose_from_most_used' => 'Выбрать из наиболее часто используемых рубрик',
        'menu_name' => 'Рубрики Блога'
      ),
      'public' => true, 
      'show_in_nav_menus' => true,
      'show_ui' => true,
      'show_tagcloud' => true,
      'update_count_callback' => '_update_post_term_count',
      'query_var' => true,
     'show_in_quick_edit' => true,
     
    )
  );
}

add_action( 'init', 'add_new_taxonomies2', 0 );


     function add_new_taxonomies5() { 
  register_taxonomy('tags_cp',
    array('blog'),
    array(
      'hierarchical' => true,
      'labels' => array(
        'name' => 'метки',
        'singular_name' => 'метка',
        'search_items' =>  'Найти метку',
        'popular_items' => 'Популярные метки',
        'all_items' => 'Все метки',
        'parent_item' => null,
        'parent_item_colon' => null,
        'edit_item' => 'Редактировать метку', 
        'update_item' => 'Обновить метку',
        'add_new_item' => 'Добавить новую метку',
        'new_item_name' => 'Название новой метки',
        'add_or_remove_items' => 'Добавить или удалить метку',
        'choose_from_most_used' => 'Выбрать из наиболее часто используемых меток',
        'menu_name' => 'Метки'
      ),
      'public' => true, 
      'show_in_nav_menus' => true,
      'show_ui' => true,
      'show_tagcloud' => true,
      'update_count_callback' => '_update_post_term_count',
      'query_var' => true,
     'show_in_quick_edit' => true,
     
    )
  );
}

add_action( 'init', 'add_new_taxonomies5', 0 );

  $labels3 = array(
  'name' => 'Объявления', 
  'singular_name' => 'Объявления',
  'add_new' => 'Добавить нового Объявления',
  'add_new_item' => 'Добавить нового Объявления',
  'edit_item' => 'Редактировать запись Объявления',
  'new_item' => 'Новый Объявления',
  'view_item' => 'Посмотреть Объявления',
  'search_items' => 'Найти Объявления',
  'not_found' =>  'Спортсмен не найден',
  'not_found_in_trash' => 'В корзине Объявления не найден',
  'parent_item_colon' => '',
  'menu_name' => 'Объявления'

  );
  $args3 = array(
  'labels' => $labels3,
  'public' => true,
  'publicly_queryable' => true,
  'show_ui' => true,
  'show_in_menu' => true,
  'query_var' => true,
  'rewrite' => true,
  'capability_type' => 'post',
  'has_archive' => true,
  'menu_icon' => 'dashicons-universal-access', 
  'hierarchical' => false,
  'menu_position' => 3,
  'supports' => array('title','editor','thumbnail')
  );
  register_post_type('obyavleniya',$args3);


  $labels4 = array(
  'name' => 'Учебник польского языка',
  'singular_name' => 'Язык', 
  'add_new' => 'Добавить новый Язык',
  'add_new_item' => 'Добавить новый Язык',
  'edit_item' => 'Редактировать Язык',
  'new_item' => 'Новый Язык',
  'view_item' => 'Посмотреть Язык',
  'search_items' => 'Найти Язык',
  'not_found' =>  'Язык не найдено',
  'not_found_in_trash' => 'В корзине Язык не найдено',
  'parent_item_colon' => '',
  'menu_name' => 'Язык'

  );
  $args4 = array(
  'labels' => $labels4,
  'public' => true,
  'publicly_queryable' => true,
  'show_ui' => true,
  'show_in_menu' => true,
  'query_var' => true,
  'rewrite' => true,
  'capability_type' => 'post',
  'has_archive' => true,
  'menu_icon' => 'dashicons-translation', 
  'hierarchical' => false,
  'menu_position' => 2,
  'supports' => array('title','editor','thumbnail')
  );
  register_post_type('language',$args4);


function getPostViews($postID){
    $count_key = 'post_views_count';
    $count = get_post_meta($postID, $count_key, true);
    if($count==''){
        delete_post_meta($postID, $count_key);
        add_post_meta($postID, $count_key, '0');
        return "0";
    }
    return $count;
}
function setPostViews($postID) {
    $count_key = 'post_views_count';
    $count = get_post_meta($postID, $count_key, true);
    if($count==''){
        $count = 0;
        delete_post_meta($postID, $count_key);
        add_post_meta($postID, $count_key, '0');
    }else{
        $count++;
        update_post_meta($postID, $count_key, $count);
    }
}



add_action( 'admin_init', 'my_remove_menu_pages' );
function my_remove_menu_pages() {
  
    global $user_ID;
  
    if ( current_user_can( 'contributor' ) ) {
    	remove_menu_page('edit.php'); 
		remove_menu_page('upload.php'); 
		remove_menu_page('link-manager.php');
		remove_menu_page('edit-comments.php'); 
		remove_menu_page('edit.php?post_type=page'); 
		remove_menu_page('plugins.php'); 
		remove_menu_page('themes.php'); 
		remove_menu_page('users.php'); 
		remove_menu_page('tools.php'); 
		remove_menu_page('options-general.php'); 
		remove_menu_page('post-new.php');
		remove_menu_page('edit.php?post_type=blog');
		remove_menu_page('edit.php?post_type=language');
		remove_menu_page('edit.php?post_type=poleznoe');
    }
}