• Resolved ironxtreme

    (@ironxtreme)


    J’ai un attribut “Taille” qui me permet de varianter un produit. Depuis quelques jours, je ne peux plus accéder à la liste des commandes.

    En activant le debug WP, voici la stacktrace :

    [13-Sep-2024 05:13:20 UTC] PHP Fatal error:  Uncaught Error: Call to a member function get_name() on string in /data/www/vhosts/--------/httpdocs/wp-content/plugins/collect-and-deliver-interface-for-woocommerce/includes/CDI-Orderlist.php:273
    Stack trace:
    #0 /data/www/vhosts/-------/httpdocs/wp-content/plugins/collect-and-deliver-interface-for-woocommerce/includes/CDI-Orderlist.php(73): cdi_c_Orderlist_Action::cdi_init_metabox()
    #1 /data/www/vhosts/------/httpdocs/wp-includes/class-wp-hook.php(324): cdi_c_Orderlist_Action::cdi_woocommerce_admin_order_buyer_name()
    #2 /data/www/vhosts/--------/httpdocs/wp-includes/plugin.php(205): WP_Hook->apply_filters()
    #3 /data/www/vhosts/---------/httpdocs/wp-content/plugins/woocommerce/src/Internal/Admin/Orders/ListTable.php(971): apply_filters()
    #4 /data/www/vhosts/----------/httpdocs/wp-content/plugins/woocommerce/includes/admin/list-tables/class-wc-admin-list-table-orders.php(176): Automattic\WooCommerce\Internal\Admin\Orders\ListTable->render_order_number_column()
    #5 /data/www/vhosts/ in /data/www/vhosts/---------/httpdocs/wp-content/plugins/collect-and-deliver-interface-for-woocommerce/includes/CDI-Orderlist.php on line 273

    J’ai par ailleurs ajouter un debug dans le plugin au niveau de l’erreur.
    La variable “$attribut” n’a pas l’air d’être un objet comme attendu… Est-ce un problème de config ?

    [2024-09-13 05:16:15] *** LOG CDI(‘tec’) - LINE:273 FILE:/includes/CDI-Orderlist.php ***: 4-parts
    [2024-09-13 05:17:27] *** LOG CDI(‘tec’) - LINE:273 FILE:/includes/CDI-Orderlist.php ***: Array
    (
    [pa_taille] => 4-parts
    )
Viewing 5 replies - 1 through 5 (of 5 total)
  • Thread Starter ironxtreme

    (@ironxtreme)

    $attributes = $product->get_attributes() ;					
    foreach ( $attributes as $attribute_name => $attribute_value ) {
    if ($attribute_name == 'hstariff') { // Check if it's the right attribute
    $hstariff = $attribute_value ;
    break ;
    }
    }

    En apportant le changement ci-dessus cela corrige la page des commandes.
    En attente d’un retour tout de même

    Plugin Author Halyra

    (@harasse)

    Merci pour ce retour.

    Tous les attributs de WC doivent être des objets. Vous aurez dans l’après-midi une version correctrice 5.5.3 qui évitera tout attribut mal formé.

    ?Mais je n’ai aucune idée sur la fa?on par laquelle votre attribut “taille” a pu être introduit? (par un plugin autre que WC ?, par une version historique de WC ?).

    Bonjour,

    J’ai le même problème. Savez-vous quand vous serez en mesure de publier la 5.5.3 ? merci d’avance,

    Thread Starter ironxtreme

    (@ironxtreme)

    Bonjour @harasse ,

    L’ajout des attributs se fait normalement depuis Produits > Attributs. Quant aux valeurs des attributs, en cliquant sur un attribut nous ajoutons les valeurs.

    Je ne sais plus si c’est WC qui ajoute l’onglet produit au menu, ce sont 2 onglets différents en tout cas.


    Je suis en Version 9.2.3 de WC (la dernière version étant la 9.3).

    Plugin Author Halyra

    (@harasse)

    Je n’ai pas d’explication à cette situation. La structure d’un attribut est celle-ci quand il est créé directement dans un produit :

    [couleur] => WC_Product_Attribute Object (
    ??? [data:protected] => Array (
    ??????????? [id] => 0
    ??????????? [name] => Couleur
    ??????????? [options] => Array (
    ??????????????????? [0] => Bleu
    ??????????????????? [1] => Blanc
    ??????????????????? [2] => Rouge
    ??????????? )
    ??????????? [position] => 1
    ??????????? [visible] => 1
    ??????????? [variation] =>
    ??? )
    )

    Il y 2 différences quand? l’attribut est créé globalement depuis Produits > Attributs : 1) la clé possède un préfixe “pa_”? (ce qui est votre cas) et 2) la valeur des options renvoie à la table terms de la BDD où les valeurs sont stockées.

    Je n’ai pas réussi à créer un attribut simplifié comme vous avez. Malgré ce mystère, on peut quand même considérer la question traitée pour l’aspect CDI car il ne cherche que les attributs “hstariff” ou “pa_hstariff”.

Viewing 5 replies - 1 through 5 (of 5 total)
  • You must be logged in to reply to this topic.