FEATURE Refactor theme setup functions and update asset handling for the Dynamiques theme

This commit is contained in:
Antoine 2025-05-12 16:10:24 +02:00
parent 67afd31120
commit 901071fb9a

View File

@ -3,14 +3,14 @@
/* ----------------------------------------------------------------
##### Theme setup.
------------------------------------------------------------------*/
function tailpress_setup()
function dynamiques_setup()
{
// ##### Setup 🡒 Navigation
register_nav_menus(
array(
'primary' => __('Primary Menu', 'tailpress'),
'dynamiques-menu' => __('Dynamiques Menu', 'dynamiques'),
)
);
@ -39,7 +39,7 @@ function tailpress_setup()
// add_post_type_support( 'page', 'excerpt' );
}
add_action('after_setup_theme', 'tailpress_setup');
add_action('after_setup_theme', 'dynamiques_setup');
@ -54,21 +54,6 @@ add_action('after_setup_theme', 'tailpress_setup');
// ##### Walker to ReWrap li submenu parent with button instead of <a>
function wrap_parent_menu_item_buttons($output, $item, $depth, $args)
{
if ($args->theme_location === "primary" && in_array('menu-item-has-children', $item->classes, true)) {
$output = '<button type="button" class="menu-item-submenu-toggle" aria-expanded="false" aria-controls="sub-menu-' . $item->ID . '">' . $item->title . '</button>';
}
if ($args->theme_location === "footer" && in_array('menu-item-has-children', $item->classes, true)) {
$output = $item->title;
}
return $output;
}
add_filter('walker_nav_menu_start_el', 'wrap_parent_menu_item_buttons', 10, 4);
/* ----------------------------------------------------------------
##### Enqueue Theme assets 🡒 Front
@ -76,12 +61,19 @@ add_filter('walker_nav_menu_start_el', 'wrap_parent_menu_item_buttons', 10, 4);
function tailpress_enqueue_scripts()
function dynamiques_enqueue_scripts()
{
$theme = wp_get_theme();
wp_enqueue_style('tailpress', tailpress_asset('css/app.css'), array(), $theme->get('Version'));
wp_enqueue_script('tailpress', tailpress_asset('js/app.js'), array(), $theme->get('Version'));
// Enqueue parent theme styles
$parent_style = get_template_directory_uri() . '/css/app.css';
if (file_exists(get_template_directory() . '/css/app.css')) {
wp_enqueue_style('parent-style', $parent_style, array(), $theme->get('Version'));
}
// Enqueue child theme styles
wp_enqueue_style('tailpress', dynamiques_asset('css/app.css'), array('parent-style'), $theme->get('Version'));
wp_enqueue_script('tailpress', dynamiques_asset('js/app.js'), array(), $theme->get('Version'));
}
@ -89,20 +81,20 @@ function tailpress_enqueue_scripts()
##### Enqueue Theme assets 🡒 Back
------------------------------------------------------------------*/
function enqueue_gutenberg_back_styles()
function dynamiques_enqueue_gutenberg_back_styles()
{
wp_enqueue_style('tailpress_back', tailpress_asset('css/app.css'), array());
wp_enqueue_style('tailpress_back', dynamiques_asset('css/app.css'), array());
}
add_action('enqueue_block_editor_assets', 'enqueue_gutenberg_back_styles');
add_action('enqueue_block_editor_assets', 'dynamiques_enqueue_gutenberg_back_styles');
add_action('wp_enqueue_scripts', 'tailpress_enqueue_scripts');
add_action('wp_enqueue_scripts', 'dynamiques_enqueue_scripts');
/* ----------------------------------------------------------------
##### Get assets path
------------------------------------------------------------------*/
function tailpress_asset($path)
function dynamiques_asset($path)
{
if (wp_get_environment_type() === 'production') {
return get_stylesheet_directory_uri() . '/' . $path;
@ -116,7 +108,7 @@ function tailpress_asset($path)
##### Adds option 'li_class' to 'wp_nav_menu
------------------------------------------------------------------*/
function tailpress_nav_menu_add_li_class($classes, $item, $args, $depth)
function dynamiques_nav_menu_add_li_class($classes, $item, $args, $depth)
{
if (isset($args->li_class)) {
$classes[] = $args->li_class;
@ -129,7 +121,7 @@ function tailpress_nav_menu_add_li_class($classes, $item, $args, $depth)
return $classes;
}
add_filter('nav_menu_css_class', 'tailpress_nav_menu_add_li_class', 10, 4);
add_filter('nav_menu_css_class', 'dynamiques_nav_menu_add_li_class', 10, 4);
@ -137,7 +129,7 @@ add_filter('nav_menu_css_class', 'tailpress_nav_menu_add_li_class', 10, 4);
##### Adds option 'submenu_class' to 'wp_nav_menu'
------------------------------------------------------------------*/
function tailpress_nav_menu_add_submenu_class($classes, $args, $depth)
function dynamiques_nav_menu_add_submenu_class($classes, $args, $depth)
{
if (isset($args->submenu_class)) {
$classes[] = $args->submenu_class;
@ -150,4 +142,4 @@ function tailpress_nav_menu_add_submenu_class($classes, $args, $depth)
return $classes;
}
add_filter('nav_menu_submenu_css_class', 'tailpress_nav_menu_add_submenu_class', 10, 3);
add_filter('nav_menu_submenu_css_class', 'dynamiques_nav_menu_add_submenu_class', 10, 3);