'CS: В заголовке',
'csm_main' => 'CS: Основное',
'csm_smain' => 'CS: Дополнительное',
'csm_topb' => 'CS: Слайдер сверху'
));
}
//Выводит код слайдера вверху страницы, строя его на основе меню "csm_smain",
//из которого берёт тексты заголовка, ссылки и title = URL картинки
//Картинка заточена под 850х110 точек (она тогда корректно масштабируется слайдером)
//
function cs_slidershow()
{
//Взято из https://developer.wordpress.org/reference/functions/wp_get_nav_menu_items/
//Получаем наше меню и проходим по всем его пунктам, чтобы извлечь всю нужную нам инфу из URL, Title, URL Страницы
$menu_name = 'csm_topb';
$sl_menu_list = "";
//Получаем объект данного меню по имени
if ( ( $locations = get_nav_menu_locations() ) && isset( $locations[ $menu_name ] ) )
{
//Получаем инфу про меню и его пункты
$menu = wp_get_nav_menu_object( $locations[ $menu_name ] );
$menu_items = wp_get_nav_menu_items($menu->term_id);
$menu_count = count($menu_items);
//Начинаем выводить наш слайдер (меню), если оно не пустое
if($menu_count > 1)
{
//Открываем баннер меню сверху
$sl_menu_list .= "\n";
$sl_menu_list .= "\n";
$sl_menu_list .= "
\n";
//Идём в цикле по всем пунктам меню
foreach ((array) $menu_items as $key => $menu_item )
{
//Получаем атрибуты текущего меню для вывода слайда
$title = $menu_item->title; //в WP зовётся как "Текст ссылки" = навание слайда
$url_link = $menu_item->url; //в WP зовётся как "URL" = URL, куда идти с баннера
$url_image = $menu_item->post_excerpt; //в WP зовётся как "Атрибут title" = URL картинки слайда (RAW)
//Формируем строку для меню (со ссылкой на картинку или нет, с заголовком или нет)
$sl_menu_list .= "\t
\n"; //Закрыли наш DIV с новой строкой
}
//Закрываем вывод пунктов менюхи (DIV слайдера)
$sl_menu_list .= "
\n
\n";
}
}
//Выводим тот текст баннеров и прочего, который мы подсчитали
echo $sl_menu_list;
}
function cs_topmenu($menuName = "", $listClass = "")
{
$sl_menu_list = "";
//Получаем объект данного меню по имени
if ( ( $locations = get_nav_menu_locations() ) && isset( $locations[ $menuName] ) )
{
//Получаем инфу про меню и его пункты
$menu = wp_get_nav_menu_object( $locations[ $menuName ] );
$menu_items = wp_get_nav_menu_items($menu->term_id);
$menu_count = count($menu_items);
//Начинаем выводить наш слайдер (меню), если оно не пустое
if($menu_count > 0)
{
$sl_menu_list .= "\n";
//ВЫВОД СПЕЦИАЛЬНЫХ ССЫЛОК (Второе меню, низ, общее)
if(("csm_smain" == $menuName) && (true)) {
//Ссылка на вкладку "Блог" для всех постов. Получим, находимся ли мы на блоге или нет?
$bIsOnBlogPage = (is_home() or is_archive() or is_single() or is_paged() or is_search() or ( function_exists('is_tag') and is_tag()));
if ($bIsOnBlogPage) { $selClass = "current_page_item"; } else { $selClass = ""; }
//Если настроено выводить - выводим вкладку
if (true) //get_option("show_on_front") != "page"
{
$sl_menu_list .= "- ";
$sl_menu_list .= "";
$sl_menu_list .= get_option('k2blogornoblog');
$sl_menu_list .= "
\n";
}
} //спецссылки для меню низа общее
//Идём в цикле по всем пунктам меню
foreach ((array) $menu_items as $key => $menu_item )
{
//Получаем атрибуты текущего меню для вывода слайда
$title = $menu_item->title; //в WP зовётся как "Текст ссылки" = навание слайда
$url_link = $menu_item->url; //в WP зовётся как "URL" = URL, куда идти с баннера
$url_alt = $menu_item->post_excerpt; //в WP зовётся как "Атрибут title" = заголовок ссылки
$selClass = ""; //Класс выбора текущей страницы или нет
if($url_link == get_permalink()) {$selClass = "current_page_item";} else {$selClass = "";}
//Выводим саму строчку менюхи (по частям - так нагляднее)
$sl_menu_list .= "- ";
$sl_menu_list .= "";
$sl_menu_list .= $title;
$sl_menu_list .= "
\n";
}
//ВЫВОД СПЕЦИАЛЬНЫХ ССЫЛОК на Регистрацию / Вход / Выход
if(("csm_hdr" == $menuName) && (true)) {
//Смотрим на то, залогинен ли чувак?
if(is_user_logged_in()) {
//Менюха для залогиненого
if(current_user_can("manage_options")){
$sl_menu_list .= "- " . "Админка" . "
\n";
} else {
$sl_menu_list .= "- " . "Кабинет" . "
\n";
}
$sl_menu_list .= "- " . "Выйти" . "
\n";
} else {
//Менюха для нового
$sl_menu_list .= "- " . "Войти" . "
\n";
$sl_menu_list .= "- " . "Регистрация" . "
\n";
}
} //спецссылки для меню заголовка
//ВЫВОД СПЕЦИАЛЬНЫХ ССЫЛОК (Основное меню (работы, услуги))
if(("csm_main" == $menuName) && (true)) {
} //спецссылки для среднего меню
//Закрываем вывод пунктов менюхи (DIV слайдера)
$sl_menu_list .= "
\n";
}
}
//Выводим тот текст баннеров и прочего, который мы подсчитали
echo $sl_menu_list;
}
//**************************** ЗАГРУЗКА РАЗНЫХ СКРИПТОВ для того, чтобы скрипты слайдера Slick грузились верно!
function cs_theme_scripts() {
wp_enqueue_style('slick_stylesheet', get_theme_file_uri('/css/slick.css'), array(), NULL, false);
wp_enqueue_style('slick_theme', get_theme_file_uri('/css/slick-theme.css'), array('slick_stylesheet'), NULL, false);
wp_enqueue_script("jquery");
wp_enqueue_script('slick_script', get_theme_file_uri('/js/slick.js'), array('jquery'), '1.8.1', true);
wp_enqueue_script('slick_init', get_theme_file_uri('/js/slick-init.js?v=1'), array('slick_script'), NULL, true);
}
add_action( 'wp_enqueue_scripts', 'cs_theme_scripts' );
?>