ezfcezfc // Ferme la div avec la classe "rocky" echo ''; } return ob_get_clean(); // Récupère le contenu du tampon de sortie et le nettoie } // Enregistre le shortcode add_shortcode('menu_mobile_shortcode', 'afficher_menu_mobile_shortcode'); // Ajoute une action pour placer le shortcode dans la div "et_pb_menu__wrap" add_action('et_pb_menu__wrap', 'placer_menu_mobile_dans_et_pb_menu_wrap'); function placer_menu_mobile_dans_et_pb_menu_wrap() { echo '
'; echo do_shortcode('[menu_mobile_shortcode]'); echo '
'; } function remove_query_strings() { if(!is_admin()) { add_filter('script_loader_src', 'remove_query_strings_split', 15); add_filter('style_loader_src', 'remove_query_strings_split', 15); } } function remove_query_strings_split($src){ $output = preg_split("/(&ver|\?ver)/", $src); return $output[0]; } add_action('init', 'remove_query_strings'); function child_theme_enqueue_styles() { // Enregistrement et mise en file d'attente de style2.css wp_enqueue_style( 'child-theme-style2', get_stylesheet_directory_uri() . '/style2.css', array(), filemtime(get_stylesheet_directory() . '/style2.css') ); } add_action( 'wp_enqueue_scripts', 'child_theme_enqueue_styles' ); function child_theme_enqueue_scripts() { // Obtenir l'URI du répertoire du thème enfant $child_theme_uri = get_stylesheet_directory_uri(); // Enregistrer le script wp_register_script('fly-js', $child_theme_uri . '/fly.js', array(), false, true); // Mettre le script en file d'attente pour qu'il soit chargé wp_enqueue_script('fly-js'); } // Ajouter l'action pour charger les scripts add_action('wp_enqueue_scripts', 'child_theme_enqueue_scripts'); function check_current_product_stock_status() { // Vérifie si on est sur une page produit et obtient l'ID du produit if (is_product()) { global $product; // Si le produit est en rupture de stock, retourne une div avec le message if (!$product->is_in_stock()) { return '

Victime de son succès

'; } } // Ne rien retourner si le produit est en stock ou si nous ne sommes pas sur une page produit return ''; } // Enregistre le shortcode dans WordPress add_shortcode('product_stock_status', 'check_current_product_stock_status'); function remove_version_from_scripts_and_styles($src) { if (strpos($src, 'ver=')) { $src = remove_query_arg('ver', $src); } return $src; } add_filter('script_loader_src', 'remove_version_from_scripts_and_styles', 15, 1); add_filter('style_loader_src', 'remove_version_from_scripts_and_styles', 15, 1); /** * Filtre l'URL canonique pour les catégories, tags et pages produits pour enlever le slash à la fin. */ /** * Ajuste la meta description pour la limiter à 160 caractères, en permettant de dépasser jusqu'au prochain point. */ function ajuster_meta_description_yoast($description) { $longueur_max = 160; // Si la description est plus longue que la longueur maximale if (strlen($description) > $longueur_max) { // Trouver la position du prochain point après 160 caractères $position_prochain_point = strpos($description, '.', $longueur_max); // Si un point a été trouvé après la position 160 if ($position_prochain_point !== false) { // Couper la description au prochain point $description = substr($description, 0, $position_prochain_point + 1); } else { // Si aucun point n'est trouvé après la position 160, couper à 160 caractères $description = substr($description, 0, $longueur_max); } } return $description; } add_filter('wpseo_metadesc', 'ajuster_meta_description_yoast', 10, 1); function preload_image_on_homepage() { if (is_front_page()) { // Vérifie si c'est la page d'accueil echo '' . "\n"; } } add_action('wp_head', 'preload_image_on_homepage'); function wpr_increase_action_scheduler_concurrent_batches( $concurrent_batches ) { return $concurrent_batches * 2; } add_filter( 'action_scheduler_queue_runner_concurrent_batches', 'wpr_increase_action_scheduler_concurrent_batches' ); function redirect_non_logged_in_users() { // Vérifie si l'utilisateur n'est pas connecté et s'il essaie d'accéder à la page Mon Compte if ( !is_user_logged_in() && is_page('mon-compte') ) { // Redirige vers la page de connexion wp_redirect( 'https://www.nosmokingclub.fr/se-connecter/' ); exit; } } add_action( 'template_redirect', 'redirect_non_logged_in_users' ); add_action('my_custom_header_hook', function() { wp_nav_menu([ 'theme_location' => 'marcel', ]); }); function custom_wpseo_metadesc($description) { $max_length = 170; // Définit la longueur maximale souhaitée // Vérifie si la description est plus longue que la longueur maximale autorisée if (strlen($description) > $max_length) { // Trouve la dernière occurrence d'un point dans la plage de caractères souhaitée $last_period_pos = strrpos(substr($description, 0, $max_length), '.'); if ($last_period_pos !== false) { // Tronque la description au dernier point trouvé $description = substr($description, 0, $last_period_pos + 1); } else { // Si aucun point n'est trouvé, recherche le dernier espace pour éviter de couper en plein mot $last_space_pos = strrpos(substr($description, 0, $max_length), ' '); if ($last_space_pos !== false) { $description = substr($description, 0, $last_space_pos); } else { // En dernier recours, tronque simplement à la longueur maximale $description = substr($description, 0, $max_length); } } } return $description; } // Ajoute le filtre pour ajuster la meta description add_filter('wpseo_metadesc', 'custom_wpseo_metadesc'); function limiter_titre_produit($title, $id = null) { // On applique la modification seulement sur les pages d'archive, de catégorie, et de tags de produits if ((is_archive() || is_product_category() || is_product_tag()) && get_post_type($id) === 'product') { $mots = explode(' ', $title); // Sépare le titre en mots if (count($mots) > 6) { // Si le titre contient plus de 5 mots $title = implode(' ', array_slice($mots, 0, 6)) . '...'; // Limite à 5 mots et ajoute une ellipse } } return $title; } // Ajoute le filtre au titre du produit add_filter('the_title', 'limiter_titre_produit', 10, 2); add_filter( 'woocommerce_get_image_size_gallery_thumbnail', function( $size ) { return array( 'width' => 150, 'height' => 150, 'crop' => 1, ); } ); function nsclub_remove_specific_script() { if (is_page('nos-boutiques-vente-cigarette-electronique')) { wp_dequeue_script('et-builder-modules-script-sticky'); } } add_action('wp_print_scripts', 'nsclub_remove_specific_script', 1000); add_action('wp_footer', 'nsclub_remove_specific_script', 1); add_filter('wp_img_tag_add_decoding_attr', '__return_false'); function add_defer_attribute_to_sticky_elements($tag, $handle) { if ('sticky-elements' !== $handle) { return $tag; } // Ajoute l'attribut defer à la balise script return str_replace(' src', ' defer="defer" src', $tag); } add_filter('script_loader_tag', 'add_defer_attribute_to_sticky_elements', 10, 2); function DV_deactive_jetpack() { wp_dequeue_script( 'devicepx' ); wp_dequeue_script( 'woo-tracks' ); } add_action( 'admin_enqueue_scripts', 'DV_deactive_jetpack' ); function add_custom_css_to_footer() { echo ''; } add_action('wp_footer', 'add_custom_css_to_footer'); function defer_polyfill_scripts($tag, $handle) { // Liste des handles des scripts à mettre en defer $scripts_to_defer = array('wp-polyfill', 'regenerator-runtime'); // Vérifie si le script en cours de traitement est dans la liste des scripts à mettre en defer if (in_array($handle, $scripts_to_defer)) { // Ajoute l'attribut defer à la balise du script return str_replace(' src', fezff add_filter( 'woocommerce_register_post_type_product', 'cinch_add_revision_support' ); function cinch_add_revision_support( $args ) { $args['supports'][] = 'revisions'; return $args; } ?>
Warning: Cannot modify header information - headers already sent by (output started at /home/nosmokingclub/public_html/wp-content/themes/Divi-Child/functions.php:1) in /home/nosmokingclub/public_html/wp-includes/pluggable.php on line 1435

Warning: Cannot modify header information - headers already sent by (output started at /home/nosmokingclub/public_html/wp-content/themes/Divi-Child/functions.php:1) in /home/nosmokingclub/public_html/wp-includes/pluggable.php on line 1438