164 lines
5.3 KiB
PHP
164 lines
5.3 KiB
PHP
<?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 l’ID 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
|
||
}
|
||
});
|