init
This commit is contained in:
commit
de73fc619a
3560 changed files with 747274 additions and 0 deletions
201
web/app/themes/haiku-atelier-2024/functions.php
Executable file
201
web/app/themes/haiku-atelier-2024/functions.php
Executable file
|
|
@ -0,0 +1,201 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
use Carbon_Fields\Carbon_Fields;
|
||||
use HaikuAtelier\StarterSite;
|
||||
use Timber\Timber;
|
||||
|
||||
// Récupère les dépendances Composer
|
||||
require_once __DIR__ . "../../../../../vendor/autoload.php";
|
||||
require_once __DIR__ . "/src/inc/ControlesPersonnalises.php";
|
||||
|
||||
require_once __DIR__ . "/src/StarterSite.php";
|
||||
require_once __DIR__ . "/src/inc/Fonctionnalites.php";
|
||||
require_once __DIR__ . "/src/inc/FonctionnalitesWooCommerce.php";
|
||||
require_once __DIR__ . "/src/inc/ChampsPersonnalises.php";
|
||||
require_once __DIR__ . "/src/inc/Taxonomies.php";
|
||||
|
||||
// Initialise Timber
|
||||
Timber::init();
|
||||
|
||||
// Sélectionne le répertoire contenant les modèles Twig
|
||||
Timber::$dirname = ["views"];
|
||||
|
||||
// Charge les Scripts du thème (report d'erreurs)
|
||||
function charge_scripts_haiku_atelier_2024(): void {
|
||||
wp_enqueue_script_module(
|
||||
id: "haiku-atelier-2024-gaffe",
|
||||
deps: [],
|
||||
src: get_template_directory_uri() . "/assets/js/gaffe.js",
|
||||
version: filemtime(get_template_directory() . "/assets/js/gaffe.js"),
|
||||
);
|
||||
wp_enqueue_script_module(
|
||||
id: "haiku-atelier-2024-bouton-panier",
|
||||
deps: [],
|
||||
src: get_template_directory_uri() . "/assets/js/scripts-bouton-panier.js",
|
||||
version: filemtime(get_template_directory() . "/assets/js/scripts-bouton-panier.js"),
|
||||
);
|
||||
wp_enqueue_script_module(
|
||||
id: "haiku-atelier-2024-menu-mobile",
|
||||
deps: [],
|
||||
src: get_template_directory_uri() . "/assets/js/scripts-menu-mobile.js",
|
||||
version: filemtime(get_template_directory() . "/assets/js/scripts-menu-mobile.js"),
|
||||
);
|
||||
wp_enqueue_script_module(
|
||||
id: "haiku-atelier-2024-bouton-retour-sommet",
|
||||
deps: [],
|
||||
src: get_template_directory_uri() . "/assets/js/scripts-bouton-retour-sommet.js",
|
||||
version: filemtime(get_template_directory() . "/assets/js/scripts-bouton-retour-sommet.js"),
|
||||
);
|
||||
}
|
||||
add_action("wp_enqueue_scripts", "charge_scripts_haiku_atelier_2024");
|
||||
|
||||
// Charge les styles du thème
|
||||
function charge_styles_haiku_atelier_2024(): void {
|
||||
wp_enqueue_style(
|
||||
handle: "haiku-atelier-2024-styles",
|
||||
src: get_template_directory_uri() . "/assets/css/main.css",
|
||||
deps: [],
|
||||
ver: filemtime(get_template_directory() . "/assets/css/main.css"),
|
||||
media: "all",
|
||||
);
|
||||
}
|
||||
add_action("wp_enqueue_scripts", "charge_styles_haiku_atelier_2024");
|
||||
|
||||
// Initialise les fonctionnalités du thème
|
||||
new StarterSite();
|
||||
|
||||
/**
|
||||
* Personnalisation du thème
|
||||
*/
|
||||
|
||||
// Personnalisation du thème
|
||||
function enregistre_personnalisations_theme($wp_customize) {
|
||||
// Section « Réseaux sociaux »
|
||||
$wp_customize->add_section("liens_reseaux_sociaux", [
|
||||
"title" => __("Liens des réseaux sociaux"),
|
||||
"description" => __("Liens des réseaux sociaux s'affichant dans le pied de page."),
|
||||
]);
|
||||
|
||||
// Instagram
|
||||
$wp_customize->add_setting("lien_instagram", [
|
||||
"type" => "theme_mod",
|
||||
"capability" => "edit_theme_options",
|
||||
]);
|
||||
$wp_customize->add_control("lien_instagram", [
|
||||
"type" => "url",
|
||||
"section" => "liens_reseaux_sociaux",
|
||||
"label" => __("Profil Instagram"),
|
||||
]);
|
||||
|
||||
// Facebook
|
||||
$wp_customize->add_setting("lien_facebook", [
|
||||
"type" => "theme_mod",
|
||||
"capability" => "edit_theme_options",
|
||||
]);
|
||||
$wp_customize->add_control("lien_facebook", [
|
||||
"type" => "url",
|
||||
"section" => "liens_reseaux_sociaux",
|
||||
"label" => __("Profil Facebook"),
|
||||
]);
|
||||
|
||||
// Pinterest
|
||||
$wp_customize->add_setting("lien_pinterest", [
|
||||
"type" => "theme_mod",
|
||||
"capability" => "edit_theme_options",
|
||||
]);
|
||||
$wp_customize->add_control("lien_pinterest", [
|
||||
"type" => "url",
|
||||
"section" => "liens_reseaux_sociaux",
|
||||
"label" => __("Profil Pinterest"),
|
||||
]);
|
||||
|
||||
// Section « Descriptions Produits »
|
||||
$wp_customize->add_section("descriptions_produits", [
|
||||
"title" => __("Textes des descriptions Produits"),
|
||||
"description" => __("Textes des descriptions apparaissant sur les pages Produit."),
|
||||
]);
|
||||
|
||||
$wp_customize->add_setting("texte_conditions_livraison", [
|
||||
"capability" => "edit_theme_options",
|
||||
"default" => "",
|
||||
"sanitize_callback" => "wp_kses_post",
|
||||
"transport" => "postMessage",
|
||||
"type" => "theme_mod",
|
||||
]);
|
||||
$wp_customize->add_control(
|
||||
new Controle_Personnalise_TinyMCE($wp_customize, "texte_conditions_livraison", [
|
||||
"label" => __("Conditions de livraison"),
|
||||
"description" => __("Descriptif des conditions de livraison."),
|
||||
"section" => "descriptions_produits",
|
||||
"input_attrs" => [
|
||||
"toolbar1" => "bold italic bullist numlist alignleft aligncenter alignright link",
|
||||
"mediaButtons" => true,
|
||||
],
|
||||
]),
|
||||
);
|
||||
|
||||
$wp_customize->add_setting("texte_entretien_produit", [
|
||||
"capability" => "edit_theme_options",
|
||||
"default" => "",
|
||||
"sanitize_callback" => "wp_kses_post",
|
||||
"transport" => "postMessage",
|
||||
"type" => "theme_mod",
|
||||
]);
|
||||
$wp_customize->add_control(
|
||||
new Controle_Personnalise_TinyMCE($wp_customize, "texte_entretien_produit", [
|
||||
"label" => __("Entretien du Produit"),
|
||||
"description" => __("Descriptif des bonnes pratiques pour l'entretien du Produit."),
|
||||
"section" => "descriptions_produits",
|
||||
"input_attrs" => [
|
||||
"toolbar1" => "bold italic bullist numlist alignleft aligncenter alignright link",
|
||||
"mediaButtons" => true,
|
||||
],
|
||||
]),
|
||||
);
|
||||
}
|
||||
add_action("customize_register", "enregistre_personnalisations_theme");
|
||||
|
||||
function retire_tailles_image_par_defaut($sizes) {
|
||||
$targets = ["full", "thumbnail"];
|
||||
|
||||
foreach ($sizes as $size_index => $size) {
|
||||
if (!in_array($size, $targets)) {
|
||||
unset($sizes[$size_index]);
|
||||
}
|
||||
}
|
||||
|
||||
return $sizes;
|
||||
}
|
||||
add_filter("intermediate_image_sizes", "retire_tailles_image_par_defaut", 10, 1);
|
||||
add_filter("big_image_size_threshold", "__return_false");
|
||||
|
||||
// Désactive la mise à jour automatique des traductions
|
||||
add_filter("async_update_translation", "__return_false");
|
||||
add_filter("auto_update_translation", "__return_false");
|
||||
|
||||
// Block Patterns
|
||||
add_action("after_setup_theme", function () {
|
||||
remove_theme_support("core-block-patterns");
|
||||
});
|
||||
add_filter("should_load_remote_block_patterns", "__return_false");
|
||||
|
||||
/**
|
||||
* WooCommerce
|
||||
*/
|
||||
|
||||
// Charge Carbon Fields
|
||||
function charge_carbon_fields(): void {
|
||||
// Nécessaire pour que Carbon Fields trouve ses ressources
|
||||
define("Carbon_Fields\URL", home_url("/vendor/htmlburger/carbon-fields"));
|
||||
Carbon_Fields::boot();
|
||||
}
|
||||
add_action("after_setup_theme", "charge_carbon_fields");
|
||||
|
||||
// Emails
|
||||
// add_filter("woocommerce_email_styles", "patricks_woocommerce_email_styles");
|
||||
// function patricks_woocommerce_email_styles($css) {
|
||||
// $css = "";
|
||||
// return $css;
|
||||
// }
|
||||
Loading…
Add table
Add a link
Reference in a new issue