web-dev-qa-db-fra.com

Woocommerce - Masquer une colonne dans la table Panier

Je veux cacher ou supprimer une colonne du panier de woocommerce, je crée un plugin pour woocommerce, il ne serait donc pas bon de modifier directement cart.php ou functions.php (ce qui serait la solution), mais lors de la sortie du plugin woocommerce une mise à jour du code aura disparu, pour le moment je pourrais juste cacher l'élément pour le prix mais pas la colonne entière.

add_filter( 'woocommerce_cart_item_price', '__return_empty_string' ); 

En plus de cela, je pourrais le faire avec CSS display:none mais les gens regarderont les articles s’ils inspectent le code, actuellement le panier est comme celui-ci.

 enter image description here 

.

Savez-vous comment masquer toute la colonne de prix du panier à l'aide de crochets, merci.

MA RÉPONSE :

Avec l'aide de Ben HartLenn, j'ai ajouté ce code à mon plugin afin de remplacer le fichier cart.php pour le fichier cart.php de mon plugin et un autre fichier à remplacer.

define( 'PLUGIN_DIR', plugin_dir_path( __FILE__ ) );

add_filter( 'woocommerce_locate_template', 'plugin_locate_template', 10, 3 );

function plugin_locate_template( $template, $template_name, $template_path ) {

  global $woocommerce;
  $_template = $template;

  if ( ! $template_path ) $template_path = $woocommerce->template_url;

  $plugin_path  = PLUGIN_DIR . '/woocommerce/';

  $template = locate_template(
    array(
      $template_path . $template_name,
      $template_name
    )
  );

  // Get the template from this plugin, if it exists
  if ( ! $template && file_exists( $plugin_path . $template_name ) )
    $template = $plugin_path . $template_name;

  // Use default template
  if ( ! $template )
    $template = $_template;

  // Return what we found
  return $template;

}

Maintenant, je crée dans ce cas le dossier cart et à l'intérieur de celui-ci un fichier cart.php modifié par moi en supprimant la colonne Price et Total, il fonctionne avec tous les fichiers que vous devez remplacer.

Vous créez ce fichier sur

/plugins/yourplugin/woocommerce/cart/cart.php

et le code remplacera automatiquement le fichier cart.php par défaut de woocommerce pour votre fichier, fonctionne avec tous les fichiers se trouvant dans woocommerce/templates /, ainsi vous aurez vos propres fichiers de modèles de personnalisation woocommerce.

Si cette solution ne fonctionne pas et que ce code ne charge pas vos propres fichiers personnalisés, il se peut que le modèle (comme avada par exemple) remplace déjà le fichier cart.php ou un autre fichier. Vérifiez le chemin.

/ themes/your_theme/woocommerce

Pour être sûr que le modèle ne remplace pas le même fichier que vous essayez de remplacer par votre plugin.

Merci Ben pour ton aide: D

3
Johanna Ferreira

Après avoir regardé dans cart.php, il ne semble pas que vous puissiez le faire avec des crochets, car il existe du HTML statique qui englobe le contenu du prix du produit. Le contenu du prix du produit correspond à ce qui est affecté par le hook woocommerce_cart_item_price que vous avez essayé, mais pas au balisage HTML statique contenant la structure de colonne elle-même.

La bonne nouvelle est que vous pouvez remplacer le fichier de modèle cart.php en le plaçant dans votre thème, puis en supprimant la sortie HTML statique de la colonne Price de votre version du fichier de modèle. Vous n'aurez pas à craindre de perdre vos modifications de cette façon, mais vous devrez surveiller et fusionner toutes les modifications apportées par Automattic au fichier de modèle cart.php des plugins Woocommerce à l'avenir.

Pour remplacer le modèle, copiez simplement le fichier du plug-in Woocommerce à partir de /wp-content/plugins/woocommerce/templates/cart/cart.php et déplacez-le sur votre thème afin que Woocommerce reconnaisse votre version en tant que remplacement. Dans ce cas, vous placeriez le fichier cart.php dans /wp-content/themes/your-theme/woocommerce/cart/cart.php après avoir créé les répertoires woocommerce/cart/ dans votre thème. Après cela, Woocommerce devrait charger votre version du fichier à partir de votre thème, au lieu de la version du plugin cart.php.

Enfin, vous pouvez simplement supprimer ou commenter les lignes 96 à 100 (dans la dernière version de cart.php), ce qui devrait supprimer toute la colonne Prix de votre sortie. Je n'ai aucun moyen de le dire, mais vous devrez peut-être retoucher d'autres éléments visuels après l'avoir fait.

Voici quelques informations supplémentaires sur le remplacement des fichiers de modèle Woocommerce au cas où: https://docs.woocommerce.com/document/template-structure/

1
Ben HartLenn