wake-up-neo.net

Woocommerce - Eine Spalte in der Cart-Tabelle ausblenden

Ich möchte eine Spalte im Warenkorb von woocommerce verstecken oder entfernen. Ich erstelle ein Plugin für woocommerce, daher wäre es nicht gut, cart.php oder functions.php (was die Lösung wäre) direkt zu ändern, sondern wenn das woocommerce-Plugin veröffentlicht wird ein Update der Code wird weg sein, im Moment konnte ich nur den Artikel für den Preis verstecken, aber nicht die gesamte Spalte.

add_filter( 'woocommerce_cart_item_price', '__return_empty_string' ); 

Zusätzlich dazu könnte ich es mit CSS display:none machen, aber die Leute werden die Artikel beobachten, wenn sie den Code inspizieren. Derzeit ist der Warenkorb so

 enter image description here 

.

Wissen Sie, wie Sie die gesamte Preisspalte mit Haken vor dem Warenkorb verstecken können? Danke.

MEINE ANTWORT :

Mit Hilfe von Ben HartLenn füge ich diesen Code zu meinem Plugin hinzu, um die cart.php für die cart.php meines Plugins und eine andere zu ersetzende Datei zu ersetzen

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;

}

Jetzt erstelle ich in diesem Fall den Ordner cart und darin eine von mir geänderte cart.php-Datei, wobei die Spalten Price und Total gelöscht werden. Sie funktioniert mit jeder Datei, die Sie ersetzen müssen.

Sie erstellen diese Datei am

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

und der code ersetzt automatisch die standard woocommerce cart.php für ihre datei. funktioniert mit jeder datei, die sich in woocommerce/templates/befindet. auf diese weise haben sie ihre eigenen woocommerce vorlagendateien.

Wenn diese Lösung nicht funktioniert und dieser Code Ihre eigenen benutzerdefinierten Dateien nicht lädt, liegt dies möglicherweise daran, dass die Vorlage (wie beispielsweise avada) bereits die Datei cart.php oder eine andere Datei ersetzt. Überprüfen Sie den Pfad

/ themes/your_theme/woocommerce

Um sicherzugehen, dass die Vorlage nicht dieselbe Datei ersetzt, die Sie durch Ihr Plugin ersetzen möchten.

Danke Ben für deine Hilfe: D

3

Nachdem Sie in cart.php nachgesehen haben, sieht es nicht so aus, als könnten Sie das mit Hooks tun, da es statisches HTML gibt, das den Inhalt des Produktpreises umschließt. Der Inhalt des Produktpreises wird durch den woocommerce_cart_item_price-Hook beeinflusst, den Sie ausprobiert haben, jedoch nicht durch das statische HTML-Markup für die Spaltenstruktur.

Die gute Nachricht ist, dass Sie die Vorlagendatei cart.php überschreiben können, indem Sie sie in Ihr Design einfügen und dann die statische HTML-Ausgabe für die Spalte Price in Ihrer Version der Vorlagendatei entfernen. Sie müssen sich nicht darum kümmern, Ihre Änderungen auf diese Weise zu verlieren, sondern müssen alle Änderungen, die Automattic in Zukunft an der Vorlagendatei cart.php der Woocommerce-Plugins vornimmt, im Auge behalten und zusammenführen.

Kopieren Sie dazu einfach die Woocommerce-Plug-in-Datei von /wp-content/plugins/woocommerce/templates/cart/cart.php und verschieben Sie sie in Ihr Design, damit Woocommerce Ihre Version als Überschreibung erkennt. In diesem Fall würden Sie die Datei cart.php in /wp-content/themes/your-theme/woocommerce/cart/cart.php ablegen, nachdem Sie die Verzeichnisse woocommerce/cart/ in Ihrem Design erstellt haben. Danach sollte Woocommerce Ihre Version der Datei von Ihrem Theme laden, anstatt die Plugin-Version von cart.php.

Schließlich können Sie einfach die Zeilen 96 bis 100 (in der neuesten Version von cart.php) entfernen oder auskommentieren. Dadurch sollte die gesamte Spalte "Price" aus Ihrer Ausgabe entfernt werden. Ich kann es nicht sagen, aber Sie müssen möglicherweise andere visuelle Dinge nachbessern, nachdem Sie dies getan haben.

Hier finden Sie weitere Informationen zum Überschreiben von Woocommerce-Vorlagendateien für den Fall: https://docs.woocommerce.com/document/template-structure/

1
Ben HartLenn