homegrade_theme_production/includes/init.php

131 lines
4.0 KiB
PHP

<?php
/**
* Theme setup.
*/
function tailpress_setup()
{
// ##### Setup 🡒 Navigation
register_nav_menus(
array(
'homegrade' => __('Menu Homegrade', 'homegrade-deligraph-theme'),
'renovateur' => __('Menu Rénovateur', 'homegrade-deligraph-theme'),
'footer' => __('Footer', 'homegrade-deligraph-theme'),
)
);
// ##### Setup 🡒 Ajout des themes supports
add_theme_support(
'html5',
array(
'search-form',
'comment-form',
'comment-list',
'gallery',
'caption',
)
);
// add_theme_support('title-tag');
add_theme_support('custom-logo');
add_theme_support('post-thumbnails');
add_theme_support('align-wide');
add_theme_support('wp-block-styles');
add_theme_support('editor-styles');
add_editor_style('css/editor-style.css');
add_theme_support('widgets');
add_post_type_support('page', 'excerpt');
}
add_action('after_setup_theme', 'tailpress_setup');
/* -----------------------------------------------------------
Enqueue Theme assets 🡒 Front
-----------------------------------------------------------*/
function tailpress_enqueue_scripts()
{
$theme = wp_get_theme();
wp_enqueue_script('gsap', get_template_directory_uri() . '/assets/gsap/gsap.min.js', array(), $theme->get('Version'));
wp_enqueue_style('swipercss', get_template_directory_uri() . '/assets/swiper/swiper-bundle.min.css', array(), $theme->get('Version'));
wp_enqueue_style('tailpress', tailpress_asset('css/app.css'), array(), $theme->get('Version'));
wp_enqueue_script('tailpress', tailpress_asset('js/app.js'), array('gsap'), $theme->get('Version'));
// wp_register_script('showthematiquejs', get_template_directory_uri() . '/template-blocks/home/show-thematiques/show-thematiques.js', array('swiperjs', 'swipercss'), $theme->get('Version'));
wp_enqueue_script('showthematiquejs', get_template_directory_uri() . '/template-blocks/home/show-thematiques/show-thematiques.js', array('swiperjs'), $theme->get('Version'));
// wp_enqueue_script('swiperjs', get_template_directory_uri() . '/assets/swiper/swiper-bundle.min.js', array('tailpress'), $theme->get('Version'), true);
// wp_register_style('swipercss', get_template_directory_uri() . '/assets/swiper/swiper-bundle.min.css', array(), $theme->get('Version'));
}
add_action('wp_enqueue_scripts', 'tailpress_enqueue_scripts');
/* -----------------------------------------------------------
Enqueue Theme assets 🡒 Back
-----------------------------------------------------------*/
add_action('enqueue_block_editor_assets', 'tailpress_enqueue_scripts');
/**
* Get asset path.
*
* @param string $path Path to asset.
*
* @return string
*/
function tailpress_asset($path)
{
if (wp_get_environment_type() === 'production') {
return get_stylesheet_directory_uri() . '/' . $path;
}
return add_query_arg('time', time(), get_stylesheet_directory_uri() . '/' . $path);
}
/* -----------------------------------------------------------
Adds option 'li_class' to 'wp_nav_menu'
-----------------------------------------------------------*/
function tailpress_nav_menu_add_li_class($classes, $item, $args, $depth)
{
if (isset($args->li_class)) {
$classes[] = $args->li_class;
}
if (isset($args->{"li_class_$depth"})) {
$classes[] = $args->{"li_class_$depth"};
}
return $classes;
}
add_filter('nav_menu_css_class', 'tailpress_nav_menu_add_li_class', 10, 4);
/**
* Adds option 'submenu_class' to 'wp_nav_menu'.
*
* @param string $classes String of classes.
* @param mixed $item The curren item.
* @param WP_Term $args Holds the nav menu arguments.
*
* @return array
*/
function tailpress_nav_menu_add_submenu_class($classes, $args, $depth)
{
if (isset($args->submenu_class)) {
$classes[] = $args->submenu_class;
}
if (isset($args->{"submenu_class_$depth"})) {
$classes[] = $args->{"submenu_class_$depth"};
}
return $classes;
}
add_filter('nav_menu_submenu_css_class', 'tailpress_nav_menu_add_submenu_class', 10, 3);