__('Основное меню', 'your-theme-domain'),
'socials' => __('Соцсети', 'your-theme-domain'),
'footer-bottom' => __('Нижнее меню в подвале', 'your-theme-domain'),
));
add_theme_support('custom-logo', array(
'height' => 100,
'width' => 400,
'flex-height' => true,
'flex-width' => true,
));
add_theme_support('post-thumbnails');
}
add_action('after_setup_theme', 'theme_setup');
function theme_enqueue_styles_scripts()
{
$style_ver = filemtime(get_template_directory() . '/frontend/dist/assets/main.css');
$script_ver = filemtime(get_template_directory() . '/frontend/dist/assets/main2.js');
wp_enqueue_style('main-style', get_template_directory_uri() . '/frontend/dist/assets/main.css', array(), $style_ver);
wp_enqueue_script('main-script2', get_template_directory_uri() . '/frontend/dist/assets/main2.js', array(), $script_ver, true);
// Preconnect for Google Fonts
//wp_enqueue_style('google-fonts-preconnect', 'https://fonts.gstatic.com', [], null, 'all');
//wp_resource_hints(['https://fonts.googleapis.com', 'https://fonts.gstatic.com'], 'preconnect');
// Enqueue Google Fonts
wp_enqueue_style('google-fonts-raleway', 'https://fonts.googleapis.com/css2?family=Raleway:wght@400;500;600&display=swap', false);
wp_enqueue_style('google-fonts-roboto', 'https://fonts.googleapis.com/css2?family=Roboto:wght@400&display=swap', false);
}
add_action('wp_enqueue_scripts', 'theme_enqueue_styles_scripts');
add_filter('nav_menu_css_class', 'change_menu_item_css_class', 10, 4);
function change_menu_item_css_class($classes, $item, $args, $depth)
{
// Удаляем нежелательные классы
$classes = array_diff($classes, array('page_item', 'page-item-' . $item->ID));
$classes = array_diff($classes, array('page_item', 'page-item-' . $item->ID));
// Добавляем класс 'menu-item'
$classes[] = 'menu-item';
return $classes;
}
function get_asset(string $path)
{
return get_template_directory_uri() . '/frontend/dist/' . $path;
}
function mytheme_widget_areas()
{
// Регистрация левого сайдбара
register_sidebar(array(
'name' => 'Левый сайдбар',
'id' => 'left-sidebar',
'description' => 'Виджеты в этой области будут показаны в левой части сайта.',
'before_widget' => '
',
'after_widget' => '
',
'before_title' => '
',
'after_title' => '
',
));
// Регистрация правого сайдбара
register_sidebar(array(
'name' => 'Правый сайдбар',
'id' => 'right-sidebar',
'description' => 'Виджеты в этой области будут показаны в правой части сайта.',
'before_widget' => '
',
'after_widget' => '
',
'before_title' => '
',
'after_title' => '
',
));
}
add_action('widgets_init', 'mytheme_widget_areas');
class Upcoming_Events_Widget extends WP_Widget
{
function __construct()
{
parent::__construct(
'upcoming_events_widget', // ID виджета
'Upcoming Events', // Название виджета
array('description' => 'Displays upcoming events') // Описание
);
}
public function widget($args, $instance)
{
include get_template_directory() . '/widgets/upcoming-events-widget-template.php';
}
// Форма в админ-панели для настройки виджета
public function form($instance)
{
$title = !empty($instance['title']) ? $instance['title'] : 'Новое название';
?>