carhop__dynamiques-theme__P.../includes/init.php
Nonimart f8cdb53e1e
All checks were successful
continuous-integration/drone/push Build is passing
CHORE Enqueuing parent editor stylesheet
2025-10-01 12:36:37 +02:00

164 lines
5.3 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
/* ----------------------------------------------------------------
##### Theme setup.
------------------------------------------------------------------*/
function dynamiques_setup()
{
// ##### Setup 🡒 Navigation
// register_nav_menus(
// array(
// 'dynamiques-menu' => __('Dynamiques Menu', 'dynamiques'),
// )
// );
// ##### 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');
/* ----------------------------------------------------------------
##### EDITOR SPECIFIC STYLES
------------------------------------------------------------------*/
add_theme_support('editor-styles');
add_editor_style(get_template_directory_uri() . '/css/editor-style.css');
add_editor_style('css/editor-style.css');
}
add_action('after_setup_theme', 'dynamiques_setup');
/* ----------------------------------------------------------------
##### Enqueue Theme assets 🡒 Front
------------------------------------------------------------------*/
function dynamiques_enqueue_scripts()
{
$theme = wp_get_theme();
// 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'));
}
wp_enqueue_script_module('carhop-js', get_template_directory_uri() . '/js/app.js', array(), $theme->get('Version'));
// Enqueue child theme styles
wp_enqueue_style('dynamiques-main-css', get_stylesheet_directory_uri() . '/css/app.css', array('parent-style'), $theme->get('Version'));
wp_enqueue_script('dynamiques-main-js', get_stylesheet_directory_uri() . '/js/app.js', array(), $theme->get('Version'));
}
add_action('wp_enqueue_scripts', 'dynamiques_enqueue_scripts');
/* ----------------------------------------------------------------
##### Enqueue Gutenberg & Admin assets #######
*
* Il faut charger les assets dans l'admin mais aussi dans block_editor_assets
Sinon les styles admin ne sont pas chargés pour les pages Gutenberg
*
------------------------------------------------------------------*/
function dynamiques_enqueue_gutenberg_back_styles()
{
$theme = wp_get_theme();
// Main styles
wp_enqueue_style('carhop-main-css', get_template_directory_uri() . '/css/app.css', array(), $theme->get('Version'));
wp_enqueue_style('dynamiques-main-css', get_stylesheet_directory_uri() . '/css/app.css', array(), $theme->get('Version'));
// Admin styles
wp_enqueue_style('carhop-admin-css', get_template_directory_uri() . '/css/admin-style.css', array(), $theme->get('Version'));
wp_enqueue_style('dynamiques-admin-css', get_stylesheet_directory_uri() . '/css/admin-style.css', array(), $theme->get('Version'));
}
add_action('enqueue_block_editor_assets', 'dynamiques_enqueue_gutenberg_back_styles');
function dynamiques_enqueue_admin_scripts()
{
$theme = wp_get_theme();
wp_enqueue_style('dynamiques-admin-css', get_stylesheet_directory_uri() . '/css/admin-style.css', array(), $theme->get('Version'));
}
add_action('admin_enqueue_scripts', 'dynamiques_enqueue_admin_scripts');
/* ----------------------------------------------------------------
##### Get assets path
------------------------------------------------------------------*/
function dynamiques_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 dynamiques_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', 'dynamiques_nav_menu_add_li_class', 10, 4);
/* ----------------------------------------------------------------
##### Adds option 'submenu_class' to 'wp_nav_menu'
------------------------------------------------------------------*/
function dynamiques_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', 'dynamiques_nav_menu_add_submenu_class', 10, 3);
add_action('admin_init', function () {
$page_id_cible = 47; // Remplace 42 par lID réel de ta page
$screen = get_current_screen();
if (is_admin() && isset($_GET['post']) && (int) $_GET['post'] === $page_id_cible) {
remove_post_type_support('page', 'editor');
remove_post_type_support('page', 'thumbnail');
remove_post_type_support('page', 'excerpt');
remove_post_type_support('page', 'custom-fields'); // optionnel
}
});