- WordPress :5.8
- Statut : résolu
- Ce sujet contient 7 réponses, 2 participants et a été mis à jour pour la dernière fois par
Broussaille, le il y a 2 années et 8 mois.
-
AuteurMessages
-
23 juillet 2022 à 18 h 08 min #2411637
Ma configuration WP actuelle :
– Version de WordPress : 6.0.1
– Version de PHP/MySQL : 7.4.30 / 10.3.35
– Thème utilisé : Broussaille theme
– Extensions en place :- 3D FlipBook : Dflip Lite (1.7.31)
- Advanced Editor Tools (previously TinyMCE Advanced) (5.6.0)
- Boxtal Connect (1.2.14)
- Classic Widgets (0.3)
- Complianz | GDPR/CCPA Cookie Consent (6.2.4)
- Contact Form 7 (5.6.1)
- Enhanced Media Library (2.8.9)
- Flamingo (2.3)
- Forum_wordpress_fr (4.2)
- Imagify (2.0)
- Lightbox with PhotoSwipe (4.0.6)
- MailPoet 3 (New) (3.92.1)
- MailPoet 3 Premium (New) (3.92.0)
- o2switch – WpTiger (21-05-22)
- Preview E-mails for WooCommerce (2.0.3)
- Rank Math SEO (1.0.93.1), Widget Logic (5.10.4)
- WooCommerce (6.7.0)
- WooCommerce Stripe Gateway (6.4.3)
- WP Mail Logging (1.10.4)
- WP Mail SMTP (3.5.1)
- WP Rocket (3.11.4.2)
– Adresse du site : https://3d34-77e1d8b602b6.wptiger.fr
– Nom de l’hébergeur : o2switchProblème(s) rencontré(s) :
Bonjour à toutes & à tous.
Je souhaite ajouter une colonne dans la récapitulative des commandes WooCommerce (dans le tableau de bord), pour y afficher une miniature du produit vendu.
J’arrive bien à ajouter la colonne, mais je suis incapable de trouver comment ajouter les données qui m’intéresse.
Voilà le code testé :
/* Création des colonnnes personnalisées */
function custom_shop_order_column($columns) {
return array_merge($columns,
array('thumb' => __('Miniature')));
}
add_filter('manage_edit-shop_order_columns', 'custom_shop_order_column', 10 );
// Affichage des données
add_action('manage_edit-shop_order_columns', 'custom_shop_order_column');
function data_colonne($name) {
global $shop_order;
switch ($name) {
case 'thumb':
if(has_shop_order_attachment_thumbnail($shop_order->ID)) { ?>
<a href="<?php the_permalink(); ?>" target="_blank">
<?php the_shop_order_attachment_thumbnail(array(70,70));?>
</a>
<?php } else {
_e('No Thumbnail','storefront');
}
break;
}
}La partie « création », c’est OK, mais le reste c’est n’importe quoi (toute la partie affichage des données > des tests en cours….), je ne sais pas comment appeler ce « thumbnail ». (Il y a bien une image dans les commandes (attachment-thumbnail size-thumbnail), mais elle n’est visible que quand l’on consulte chaque commande individuellement (il faut donc l’ouvrir), et c’est très galère…)
Vous avez une idée ?
J’ai cherché et testé de multiples « snippet », mais aucun résultat (si l’on excepte les erreurs critiques)…
Merci.
Fichiers joints :
Vous devez être connecté pour voir les fichiers joints.23 juillet 2022 à 19 h 57 min #2411643Bonjour,
J’ai cherché et testé de multiples « snippet », mais aucun résultat (si l’on excepte les erreurs critiques)…
Alors en partant de celui-ci et de celui-là et en touillant un peu, j’obtiens ça:
// Add a new custom column to admin order list
add_filter( 'manage_edit-shop_order_columns', 'admin_orders_list_add_column', 10, 1 );
function admin_orders_list_add_column( $columns ){
$columns['custom_column'] = __( 'New Column', 'woocommerce' );
return $columns;
}
// The data of the new custom column in admin order list
add_action( 'manage_shop_order_posts_custom_column' , 'admin_orders_list_column_content', 10, 2 );
function admin_orders_list_column_content( $column, $post_id ){
global $the_order;
if( 'custom_column' === $column ){
$count = 0;
// Loop through order items
foreach( $the_order->get_items() as $item ) {
$product = $item->get_product(); // The WC_Product Object
$style = $count > 0 ? ' style="padding-left:6px;"' : '';
// Display product thumbnail
if( $product && is_object( $product ) ){
printf( '<span%s>%s</span>', $style, $product->get_image( array( 50, 50 ) ) );
$count++;
}
}
}
}qui fonctionne chez moi: montre les images des produits après chaque commande dans la liste des commandes si ces produits existent toujours sur le site. Si ce n’est pas le cas les commandes sont bien listées mais sans image (le premier code tout seul provoque une erreur critique dans ce cas).
-
Cette réponse a été modifiée le il y a 2 années et 8 mois par
ferman.
-
Cette réponse a été modifiée le il y a 2 années et 8 mois par
ferman.
Fichiers joints :
Vous devez être connecté pour voir les fichiers joints.23 juillet 2022 à 21 h 14 min #2411653Bonsoir ferman,
et bien tu te débrouille plutôt bien en « touillage » !
Moi je n’arrivais qu’à un brouet infâme !
Merci, ça marche impeccable. Bon, pour abuser un peu de ta bonne tambouille (WPmarmite va te faire de l’œil…), penses-tu qu’il soit possible de faire en sorte de n’afficher qu’une seule image (oui, sur WordPress, tout est possible !). Là, cela affiche toutes les images liées au produit, c’est déjà super, mais ça surcharge un peu (ahlala ! y sont jamais contents !). En fait l’idéal serait de n’afficher QUE l’image produit, donc pas celle de la galerie liée, mais celle liée à la commande (comment ça c’est pas clair ?).
Ceci-dit comment as tu fait pour trouver ces deux snippets que tu as touillé ? Pour ma part j’ai épluché je ne sais combien de page de résultats de recherche sans tomber sur ces deux là. Une recherche en anglais ?
Quoiqu’il en soit merci beaucoup.
23 juillet 2022 à 21 h 43 min #2411657Bon, après quelques tests, je garde la formule dans son intégralité.
L’inconvénient (plusieurs images) se changeant en avantage pour une commande de plusieurs articles (images de chaque article affichées).
J’espère ne pas arriver trop tard pour t’éviter de chercher pour rien (quoique la réponse à cette deuxième question, si réponse il y a, puisse servir à quelqu’un d’autre).
Encore une fois tous mes remerciements, je passe le sujet en résolu (mais je veux bien savoir pour le « mode de recherche »…).
Bonne soirée.
23 juillet 2022 à 21 h 56 min #2411658Content que ça marche; Pour la recherche google, c’était: « add new custom column with post thumbnail to woocommerce order page ». Je n’ai pas cherché à optimiser donc il y a forcément d’autres possibilités.
Et non, pas de problème, je n’avais pas commencé à réfléchir à la suite ( sans doute pas simple).
-
Cette réponse a été modifiée le il y a 2 années et 8 mois par
ferman.
24 juillet 2022 à 12 h 18 min #2411705Bonjour ferman,
pour le problème des images, j’ai une « solution », j’enlève les images de la galerie des produits vendus (n’ayant besoin que du visuel « principal »).
Donc c’est bon.
Quand tu dis que tu n’as pas cherché à optimiser, tu parles de la recherche, ou du code ?
Encore merci et bon dimanche.
24 juillet 2022 à 13 h 39 min #2411714Quand tu dis que tu n’as pas cherché à optimiser, tu parles de la recherche, ou du code ?
Des deux mais pour le code il était déjà bon. Il suffisait juste de le modifier un peu. Pour la requête j’ai mis les mots-clés qui me semblaient appropriés mais je ne me suis pas cassé la tête à fignoler la requête.
24 juillet 2022 à 15 h 06 min #2411718C’était bien la peine que je me casse la tête à multiplier les expressions pour la recherche ! Mais n’étant pas très à l’aise en anglais, l’idée ne met pas venue de faire une recherche dans cette langue. J’y songerais pour la prochaine.
Allez, je cesse de t’interpeller, après tout c’est le weekend, même pour les bénévoles !
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.