Mu-plugin pour afficher le poids du produit dans le tableau de bord WooCommerce (Créer un compte)

  • WordPress :6.4
  • Statut : hors support
12 sujets de 1 à 12 (sur un total de 12)
  • Auteur
    Messages
  • #2476046
    Broussaille
    Participant
    Chevalier WordPress
    363 contributions

    Bonjour,

    Ma configuration WP actuelle :
    – Version de WordPress : 6.5.5
    – Version de PHP / MySQL : 8.2.20 / 10.6.18
    – Thème utilisé : Blocksy Child (slug : blocksy-child)
    – Thème parent : Blocksy (slug : blocksy)
    – Thème URI : https://creativethemes.com/blocksy/
    – Extensions activées : Advanced Editor Tools (5.9.2), Blocksy Companion (2.0.57), Boxtal Connect (1.2.22), everwpvisitcounter (1.2.3), Forminator (1.32), Imagify (2.2.2), Infosite (6), Lightbox with PhotoSwipe (5.2.6), Local Google Fonts (0.22.0), Media Library Organizer (1.6.4), SecuPress Pro — WordPress Security (2.2.5.3), SEOKEY Pro (1.8.5), WooCommerce (9.0.2), WooCommerce.com Update Manager (1.0.3), WooCommerce PayPal Payments (2.8.1), WooCommerce Stripe Gateway (8.4.0), WP Mail SMTP (4.0.1), WP Rocket (3.16.2.1)
    – Adresse du site : https://broussaillestore.fr
    – Hébergeur : o2switch

    Problème(s) rencontré(s) : Pas de problème, une solution. Ayant des soucis avec merchant center sur les poids de produits je suis obligé de faire les corrections de poids une à une. A priori merchant center a souvent un souci avec les produits variables (et avec des « simples » aussi… d’ailleurs…). Donc pour pouvoir faire ces corrections sans ouvrir chaque fois la fiche produit j’ai installé ça :

    <?php
    /*
    Plugin Name: Custom Product Weight Column
    Description: Ajoute une colonne de poids dans le tableau de bord des produits WooCommerce.
    Author: Votre Nom
    Version: 1.1
    */

    // Ajouter une nouvelle colonne pour le poids des produits
    add_filter('manage_edit-product_columns', 'add_product_weight_column', 15);
    function add_product_weight_column($columns) {
    $new_columns = array();

    foreach ($columns as $key => $column) {
    $new_columns[$key] = $column;
    if ('sku' === $key) { // Ajouter la nouvelle colonne après la colonne SKU
    $new_columns['product_weight'] = __('Poids', 'your-textdomain');
    }
    }

    return $new_columns;
    }

    // Afficher le poids des produits dans la nouvelle colonne
    add_action('manage_product_posts_custom_column', 'show_product_weight_column', 10, 2);
    function show_product_weight_column($column, $post_id) {
    if ('product_weight' === $column) {
    $product = wc_get_product($post_id);

    if ($product->is_type('variable')) {
    $weights = array();
    foreach ($product->get_children() as $variation_id) {
    $variation = wc_get_product($variation_id);
    $weight = $variation->get_weight();
    if ($weight) {
    $weights[] = $weight;
    }
    }

    if (!empty($weights)) {
    $min_weight = min($weights);
    $max_weight = max($weights);
    if ($min_weight == $max_weight) {
    echo esc_html($min_weight . ' ' . get_option('woocommerce_weight_unit'));
    } else {
    echo esc_html($min_weight . ' - ' . $max_weight . ' ' . get_option('woocommerce_weight_unit'));
    }
    } else {
    echo __('N/A', 'your-textdomain');
    }
    } else {
    $weight = $product->get_weight();
    echo $weight ? esc_html($weight . ' ' . get_option('woocommerce_weight_unit')) : __('N/A', 'your-textdomain');
    }
    }
    }

    // Rendre la colonne triable
    add_filter('manage_edit-product_sortable_columns', 'sortable_product_weight_column');
    function sortable_product_weight_column($columns) {
    $columns['product_weight'] = 'product_weight';
    return $columns;
    }

    // Gérer le tri de la colonne
    add_action('pre_get_posts', 'product_weight_column_orderby');
    function product_weight_column_orderby($query) {
    if (!is_admin()) {
    return;
    }

    $orderby = $query->get('orderby');

    if ('product_weight' === $orderby) {
    $query->set('meta_key', '_weight');
    $query->set('orderby', 'meta_value_num');
    }
    }
    custom-product-weight-column.php

    Ça permet d’avoir tous les poids « sous les yeux », pour les produits simples, comme pour les variables.

    J’ai installé ça dans un mu-plugin, dans un fichier nommé comme le titre du code.

    Ça fonctionne très bien…. Voili, voilou, si ça intéresse quelqu’un…

    Ce n’est peut-être pas LA solution, mais ça fait gagner du temps quand il faut avoir les poids…

    Après… il y a peut-être plus simple pour régler les problèmes de ce genre dans merchant center, mais j’avoue que j’en ai un peu marre de tourner en rond avec le support…

    Donc… mettons les mains dans le cambouis…

    Bonne journée.

    • Ce sujet a été modifié il y a 11 mois et 2 semaines par Joss47. Raison : Je déplace car je ne pense pas que cela a vocation à rester dans le forum d'aide de woocommerce
    • Ce sujet a été modifié le il y a 11 mois et 2 semaines par Joss47.
    • Ce sujet a été modifié le il y a 11 mois et 1 semaine par Broussaille.
    #2476436
    Broussaille
    Participant
    Chevalier WordPress
    363 contributions

    Bonjour à toutes et tous. Merci Joss47 pour avoir déplacé le sujet. Je pensais que c’était plutôt du Woocommerce, mais je comprends la logique.

    J’en profite pour ajouter un autre mu-plugin qui permet d’ajouter différentes colonnes dans le tableau de bord afin d’avoir des renseignements divers : les identifiants pour les ID d’articles, pour les IDs des pages, des catégories d’articles et des images. Chaque colonne est triable (par ordre de « n° » ascendant ou descendant), large de 250px (le minimum à peu près pour des IDs à 7 ou 8 chiffres), avec le texte (IDs) centré. Elle peut être affichée ou masquée comme n’importe quelle colonne du tableau de bord. Ce mu-plugin donne aussi la possibilité de retrouver un identifiant (c’est pas mal quand on a fait des modifications de style sur un article ou une page, et que l’on ne sait plus sur quel truc…)

    Par ailleurs il y a aussi possibilité d’activer le support des catégories pour les pages.

    Et aussi une colonne pour les images de produits woocommerce dans le tableau de bord des commandes.

    Bon tout ça est créé par ChatGPT, je sais que tout le monde n’est peut-être pas d’accord avec son utilisation. Donc si ça pose problème… les modos savent quoi faire de ce post (mais s’il est supprimé, j’aimerais savoir pourquoi…). Et s’il ne faut plus que j’en poste, ben… idem

    <?php
    /*
    Plugin Name: Custom Admin Columns
    Description: Adds custom columns to various admin tables in WordPress and allows searching by ID.
    Author: Jean-Pierre Bourdet (chatGPT)
    Version: 1.0
    */

    if ( ! defined( 'ABSPATH' ) ) {
    exit; // Exit if accessed directly.
    }

    // Ajouter une nouvelle colonne pour les IDs des articles
    function add_post_id_column($columns) {
    $columns['post_id_clmn'] = __('ID', 'textdomain');
    return $columns;
    }
    add_filter('manage_posts_columns', 'add_post_id_column');

    // Afficher le contenu de la colonne ID pour les articles
    function display_post_id_column_content($column, $post_id) {
    if ($column === 'post_id_clmn') {
    echo $post_id;
    }
    }
    add_action('manage_posts_custom_column', 'display_post_id_column_content', 10, 2);

    // Ajouter une nouvelle colonne pour les IDs des pages
    function add_page_id_column($columns) {
    $columns['page_id_clmn'] = __('ID', 'textdomain');
    return $columns;
    }
    add_filter('manage_pages_columns', 'add_page_id_column');

    // Afficher le contenu de la colonne ID pour les pages
    function display_page_id_column_content($column, $post_id) {
    if ($column === 'page_id_clmn') {
    echo $post_id;
    }
    }
    add_action('manage_pages_custom_column', 'display_page_id_column_content', 10, 2);

    // Style pour les colonnes ID
    function post_id_column_style() {
    echo '<style>
    .column-post_id_clmn, .column-page_id_clmn { width: 200px; text-align: center; }
    </style>';
    }
    add_action('admin_head', 'post_id_column_style');

    // Recherche par ID pour les articles et les pages
    function search_by_post_or_page_id( $query ) {
    global $pagenow;

    if ( is_admin() && $pagenow == 'edit.php' && isset( $_GET['s'] ) && !empty($_GET['s']) ) {
    $post_id = absint( $_GET['s'] );
    if ( $post_id > 0 ) {
    $query->query_vars['p'] = $post_id;
    $query->query_vars['s'] = '';
    }
    }
    }
    add_action( 'pre_get_posts', 'search_by_post_or_page_id' );

    // Ajoute une nouvelle colonne (dashboard) pour ID des catégories
    function add_category_id_column( $columns ) {
    $columns['category_id'] = 'ID';
    return $columns;
    }
    add_filter( 'manage_edit-category_columns', 'add_category_id_column' );

    // Affiche les identifiants des catégories dans la nouvelle colonne
    function show_category_id_column( $content, $column_name, $term_id ) {
    if ( $column_name === 'category_id' ) {
    $content = $term_id;
    }
    return $content;
    }
    add_filter( 'manage_category_custom_column', 'show_category_id_column', 10, 3 );

    // Style pour aligner les identifiants au centre
    function category_id_column_style() {
    echo '<style>
    .column-category_id { width: 50px; text-align: center; }
    </style>';
    }
    add_action( 'admin_head', 'category_id_column_style' );

    // Recherche par ID
    function search_by_category_id( $query ) {
    global $pagenow;
    $taxonomy = isset($_GET['taxonomy']) ? sanitize_text_field($_GET['taxonomy']) : '';

    if ( is_admin() && $pagenow == 'edit-tags.php' && !empty($_GET['s']) && $taxonomy == 'category' ) {
    $term_id = absint( $_GET['s'] );
    if ( $term_id > 0 ) {
    $query->query_vars['include'] = array( $term_id );
    $query->query_vars['search'] = '';
    }
    }
    }
    add_action( 'pre_get_terms', 'search_by_category_id' );

    // Activer le support des catégories pour les pages
    function enable_categories_for_pages() {
    register_taxonomy_for_object_type('category', 'page');
    }
    add_action('init', 'enable_categories_for_pages');

    // Ajouter une nouvelle colonne personnalisée (image-article) à la liste des commandes WooCommerce
    function add_order_thumbnail_column($columns) {
    $columns['order_thumbnail'] = __('Miniature', 'woocommerce');
    return $columns;
    }
    add_filter('manage_edit-shop_order_columns', 'add_order_thumbnail_column', 10);

    function display_order_thumbnail_column_content($column, $post_id) {
    if ($column === 'order_thumbnail') {
    $order = wc_get_order($post_id);
    if ($order) {
    foreach ($order->get_items() as $item) {
    $product = $item->get_product();
    if ($product && is_object($product)) {
    echo $product->get_image(array(50, 50));
    }
    }
    }
    }
    }
    add_action('manage_shop_order_posts_custom_column', 'display_order_thumbnail_column_content', 10, 2);


    // Ajouter une nouvelle colonne pour les identifiants des images
    function add_media_id_column($columns) {
    $columns['media_id'] = __('ID', 'textdomain');
    return $columns;
    }
    add_filter('manage_media_columns', 'add_media_id_column');

    // Afficher le contenu de la colonne ID pour les images
    function display_media_id_column_content($column, $post_id) {
    if ($column === 'media_id') {
    echo $post_id;
    }
    }
    add_action('manage_media_custom_column', 'display_media_id_column_content', 10, 2);

    // Rendre la colonne triable pour les identifiants des images
    function make_media_id_column_sortable($columns) {
    $columns['media_id'] = 'ID';
    return $columns;
    }
    add_filter('manage_upload_sortable_columns', 'make_media_id_column_sortable');

    // Tri par ID pour les images
    function sort_media_by_id_column($vars) {
    if (isset($vars['orderby']) && 'ID' === $vars['orderby']) {
    $vars = array_merge($vars, array(
    'orderby' => 'ID'
    ));
    }
    return $vars;
    }
    add_filter('request', 'sort_media_by_id_column');

    // Recherche par ID pour les médias
    function search_media_by_id( $query ) {
    global $pagenow;

    if ( is_admin() && $pagenow == 'upload.php' && isset( $_GET['s'] ) && !empty($_GET['s']) ) {
    $media_id = absint( $_GET['s'] );
    if ( $media_id > 0 ) {
    $query->query_vars['p'] = $media_id;
    $query->query_vars['s'] = '';
    }
    }
    }
    add_action( 'pre_get_posts', 'search_media_by_id' );

    // Style pour la colonne ID
    function media_id_column_style() {
    echo '<style>
    .column-media_id { width: 250px; text-align: center; }
    </style>';
    }
    add_action('admin_head', 'media_id_column_style');
    Customisation des colonnes du tableau de bord

    • Cette réponse a été modifiée le il y a 11 mois et 1 semaine par Broussaille. Raison: Bon, attendez un peu, y'a un bug
    #2476461
    Broussaille
    Participant
    Chevalier WordPress
    363 contributions

    Une correction : les IDs d’articles et de pages ne sont pas triables par ordre croissant ou décroissant (au début ça mettait le dawa, donc j’ai abandonné, mais ça fonctionne pour les médias, ça doit donc être adaptable…)

    Et sinon, ma modification du dessus [ « Bon, attendez un peu, y’a un bug »], c’est une erreur/coïncidence avec un problème du serveur… ah la la, faut pas tout faire en même temps !!!

    #2476462
    Broussaille
    Participant
    Chevalier WordPress
    363 contributions

    Une autre correction, j’ai changé la largeur à 100px, sinon sur un écran pas trop large, ça fout le bazar si l’on ouvre trop de colonnes, c’est donc à ajuster selon vos besoins et possibilités

    #2476647
    Joss47
    Modérateur
    Maître WordPress
    5359 contributions

    Bon tout ça est créé par ChatGPT, je sais que tout le monde n’est peut-être pas d’accord avec son utilisation. Donc si ça pose problème… les modos savent quoi faire de ce post

    j’ai pas de soucis avec ça perso DU MOMENT ou ce que tu pose comme code est vérifié et fonctionnel sur une installation.
    Certains font du ChatGPT ici sans forcément vérifier ou utiliser les codes qu’ils proposent, ils font juste un C/C bête de GPT, hors il dit parfois (voir souvent) des trucs qui ne fonctionne pas 🙂

    PS: J’ai pas mal de code aussi que j’utilise sur les boutiques de nos clients que je note sur mon site perso comme mémo, si jamais : https://josselynjayant.fr/codes-snippets-wordpress-woocommerce/

    #2476651
    Broussaille
    Participant
    Chevalier WordPress
    363 contributions

    Bonjour Joss. Oui, des fois il dit vraiment des c****ries (je m’amuse à lui faire écrire des fiches produits, c’est d’un triste parfois…). Mais bon, pour revenir au code : oui, je l’ai testé et il tourne sur mon site. Donc avec la configuration que j’ai. J’ai pensé que ça pouvait être utile…

    Merci pour le lien, j’irais voir ça.

    Bonne fin de journée.

    #2476773
    Broussaille
    Participant
    Chevalier WordPress
    363 contributions
    Cette réponse a été marquée comme privée.
    #2486239
    Broussaille
    Participant
    Chevalier WordPress
    363 contributions

    Bonjour à toutes et à tous. Bon me revoilà avec mes custom-columns… qui ne fonctionnent plus. Enfin plus comme avant (c’était mieux avant…). En fait ça fonctionne à moitié, les colonnes sont créées, les ID s’affichent mais plus moyen de les trier. J’avais fait une « mise à jour » de mon mu-plugin avec ce code :

    <?php
    // ------------------------------------------------------------------------
    // Colonnes personnalisées et recherche par ID
    // ------------------------------------------------------------------------

    // Vérifie si les fonctions existent avant de les déclarer pour éviter les erreurs de redéfinition
    if ( ! function_exists( 'add_post_id_column' ) ) {
    // Ajouter une nouvelle colonne pour les IDs des articles
    function add_post_id_column($columns) {
    $columns['post_id_clmn'] = __('ID', 'textdomain');
    return $columns;
    }
    add_filter('manage_posts_columns', 'add_post_id_column');
    }

    if ( ! function_exists( 'display_post_id_column_content' ) ) {
    // Afficher le contenu de la colonne ID pour les articles
    function display_post_id_column_content($column, $post_id) {
    if ($column === 'post_id_clmn') {
    echo $post_id;
    }
    }
    add_action('manage_posts_custom_column', 'display_post_id_column_content', 10, 2);
    }

    if ( ! function_exists( 'add_page_id_column' ) ) {
    // Ajouter une nouvelle colonne pour les IDs des pages
    function add_page_id_column($columns) {
    $columns['page_id_clmn'] = __('ID', 'textdomain');
    return $columns;
    }
    add_filter('manage_pages_columns', 'add_page_id_column');
    }

    if ( ! function_exists( 'display_page_id_column_content' ) ) {
    // Afficher le contenu de la colonne ID pour les pages
    function display_page_id_column_content( $column, $post_id ) {
    if ( $column === 'page_id_clmn' ) {
    echo $post_id;
    }
    }
    add_action( 'manage_pages_custom_column', 'display_page_id_column_content', 10, 2 );
    }

    if ( ! function_exists( 'post_id_column_style' ) ) {
    // Style pour les colonnes ID
    function post_id_column_style() {
    echo '<style>
    .column-post_id_clmn, .column-page_id_clmn { width: 80px; }
    </style>';
    }
    add_action('admin_head', 'post_id_column_style');
    }

    if ( ! function_exists( 'search_by_post_or_page_id' ) ) {
    // Recherche par ID pour les articles et les pages
    function search_by_post_or_page_id( $query ) {
    global $pagenow;

    error_log( 'Function called: search_by_post_or_page_id' );
    error_log( 'Pagenow: ' . $pagenow );
    error_log( 'Search term: ' . ( isset( $_GET['s'] ) ? $_GET['s'] : 'Not set' ) );

    if ( is_admin() && $pagenow == 'edit.php' && isset( $_GET['s'] ) && ! empty( $_GET['s'] ) ) {
    $post_id = absint( $_GET['s'] );
    error_log( 'Post ID: ' . $post_id );
    if ( $post_id > 0 ) {
    $query->query_vars['p'] = $post_id;
    $query->query_vars['s'] = '';
    error_log( 'Query modified for ID: ' . $post_id );
    }
    }
    }
    add_action( 'pre_get_posts', 'search_by_post_or_page_id' );
    }

    if ( ! function_exists( 'add_product_category_id_column' ) ) {
    // Ajouter une nouvelle colonne pour les IDs des catégories de produits
    function add_product_category_id_column($columns) {
    $columns['product_category_id'] = __('ID', 'textdomain');
    return $columns;
    }
    add_filter('manage_edit-product_cat_columns', 'add_product_category_id_column');
    }

    if ( ! function_exists( 'display_product_category_id_column_content' ) ) {
    // Afficher le contenu de la colonne ID pour les catégories de produits
    function display_product_category_id_column_content($content, $column_name, $term_id) {
    if ($column_name === 'product_category_id') {
    $content = $term_id;
    }
    return $content;
    }
    add_filter('manage_product_cat_custom_column', 'display_product_category_id_column_content', 10, 3);
    }

    if ( ! function_exists( 'product_category_id_column_style' ) ) {
    // Style pour aligner les identifiants au centre
    function product_category_id_column_style() {
    echo '<style>
    .column-product_category_id { width: 100px; text-align: center; }
    </style>';
    }
    add_action('admin_head', 'product_category_id_column_style');
    }

    if ( ! function_exists( 'search_by_product_category_id' ) ) {
    // Recherche par ID pour les catégories de produits
    function search_by_product_category_id( $query ) {
    global $pagenow;
    $taxonomy = isset($_GET['taxonomy']) ? sanitize_text_field($_GET['taxonomy']) : '';

    error_log('Function called: search_by_product_category_id');
    error_log('Pagenow: ' . $pagenow);
    error_log('Taxonomy: ' . $taxonomy);
    error_log('Search term: ' . (isset($_GET['s']) ? $_GET['s'] : 'Not set'));

    if ( is_admin() && $pagenow == 'edit-tags.php' && !empty($_GET['s']) && $taxonomy == 'product_cat' ) {
    $term_id = absint( $_GET['s'] );
    error_log('Term ID: ' . $term_id);
    if ( $term_id > 0 ) {
    $query->query_vars['include'] = array( $term_id );
    $query->query_vars['search'] = '';
    error_log('Query modified for Term ID: ' . $term_id);
    }
    }
    }
    add_action( 'pre_get_terms', 'search_by_product_category_id' );
    }

    if ( ! function_exists( 'add_media_id_column' ) ) {
    // Ajouter une nouvelle colonne pour les identifiants des images
    function add_media_id_column($columns) {
    $columns['media_id'] = __('ID', 'textdomain');
    return $columns;
    }
    add_filter('manage_media_columns', 'add_media_id_column');
    }

    if ( ! function_exists( 'display_media_id_column_content' ) ) {
    // Afficher le contenu de la colonne ID pour les images
    function display_media_id_column_content($column, $post_id) {
    if ($column === 'media_id') {
    echo $post_id;
    }
    }
    add_action('manage_media_custom_column', 'display_media_id_column_content', 10, 2);
    }

    if ( ! function_exists( 'make_media_id_column_sortable' ) ) {
    // Rendre la colonne triable pour les identifiants des images
    function make_media_id_column_sortable($columns) {
    $columns['media_id'] = 'ID';
    return $columns;
    }
    add_filter('manage_upload_sortable_columns', 'make_media_id_column_sortable');
    }

    if ( ! function_exists( 'sort_media_by_id_column' ) ) {
    // Tri par ID pour les images
    function sort_media_by_id_column($vars) {
    if (isset($vars['orderby']) && 'ID' === $vars['orderby']) {
    $vars = array_merge($vars, array(
    'orderby' => 'ID'
    ));
    }
    return $vars;
    }
    add_filter('request', 'sort_media_by_id_column');
    }

    if ( ! function_exists( 'search_media_by_id' ) ) {
    // Recherche par ID pour les médias
    function search_media_by_id( $query ) {
    global $pagenow;

    if ( is_admin() && $pagenow == 'upload.php' && isset( $_GET['s'] ) && !empty($_GET['s']) ) {
    $media_id = absint( $_GET['s'] );
    if ( $media_id > 0 ) {
    $query->query_vars['p'] = $media_id;
    $query->query_vars['s'] = '';
    }
    }
    }
    add_action( 'pre_get_posts', 'search_media_by_id' );
    }

    if ( ! function_exists( 'media_id_column_style' ) ) {
    // Style pour la colonne ID
    function media_id_column_style() {
    echo '<style>
    .column-media_id { width: 100px; text-align: center; }
    </style>';
    }
    add_action('admin_head', 'media_id_column_style');
    }

    if ( ! function_exists( 'enable_categories_for_pages' ) ) {
    // Activer le support des catégories pour les pages
    function enable_categories_for_pages() {
    register_taxonomy_for_object_type('category', 'page');
    }
    add_action('init', 'enable_categories_for_pages');
    }
    custom-admin-columns

    Ça fonctionnait très bien (l’affichage, le tri, etc…)  jusque…il y a pas longtemps, et puis là, Paf !  C’est cuit.

    Sur un sous-domaine, j’ai exactement le même mu-plugin qui fonctionne impeccablement.

    J’ai fait le test de base avec toutes les extensions désactivées, ce qui ne change rien, donc… une incompatibilité quelque part avec WordPress directement ? Je ne suis pas assez calé pour trouver. J’ai fait marner Perplexity là-dessus, mais pas de résultat… Si vous avez une idée ? Merci.

     

    • Cette réponse a été modifiée le il y a 3 mois et 3 semaines par Broussaille. Raison: C'est pas du html, c'est du php !
    #2487895
    BiduleTruc
    Participant
    Initié WordPress
    11 contributions

    Du code AI dans woocommerce c’est téméraire… 🙂

    Installe ce plugin : Query Monitor – The developer tools panel for WordPress

    Il devrait te trouver ton erreur php. Sinon wp-config -> active le debug.

    Tu auras aussi le poids de tes requêtes ce qui n’est pas un luxe notamment dans woocommerce.

    #2487899
    Broussaille
    Participant
    Chevalier WordPress
    363 contributions

    Bonjour, et merci BKaernet… Mais, en fait, depuis février j’ai trouvé la solution… c’était un snippet qui posait problème. Depuis ça fonctionne plutôt bien. Mais le mu-plugin a été modifié depuis. Après, oui, du code AI dans Woocommerce… Mais ça reste du code, et plutôt bien écrit…

    Pour le poids des requêtes, en fait j’ai abandonné mon commerce en ligne, et grandement modifié et allégé mes pages… Ce n’est pas encore le top (selon GreenIT), mais ce n’est pas si mal…

    #2487910
    Flobogo
    Modérateur
    Maître WordPress
    20916 contributions

    Bonjour,

    @bkaernel : c’est quoi l’intérêt de remonter cette discussion ? Vous avez des actions auprès de l’auteur de Query-Monitor, pour nous le sortir à chaque fois ?

    #2487912
    Broussaille
    Participant
    Chevalier WordPress
    363 contributions

    😂 Désolé Flobogo. Je pensais que ça partais d’une bonne intention…

12 sujets de 1 à 12 (sur un total de 12)
  • Vous devez être connecté pour répondre à ce sujet.