Du kannst die Produkt-Tabs anpassen, indem du auf den Filter woocommerce_product_tabs zurück greifst. Der Filter erlaubt es dir, die Ausgabe der Tabs von WooCommerce komplett zu verändern. Im übergebenen Array $tabs werden alle Informationen zu den Tabs gespeichert. Dazu gehört der Titel und die Priorität des Tabs, sowie die Callback-Funktion, die den Inhalt des Tabs bestimmt.
In diesem Beitrag zeigen wir dir verschiedene Beispiele, wie du die Produkt-Tabs anpassen kannst.
Tabs entfernen
Um einen Tab zu entfernen, kannst du die Funktion unset verwenden. Übergebe dazu einfach den Schlüssel des jeweiligen Tabs, um ihn zu entfernen:
/**
* WooCommerce - Produkt-Tabs entfernen
* https://wp-bibel.de/tutorial/woocommerce-produkt-tabs-anpassen
*/
add_filter( 'woocommerce_product_tabs', 'wp_bibel_de_remove_woocommerce_product_tabs', 98 );
function wp_bibel_de_remove_woocommerce_product_tabs( $tabs ) {
unset( $tabs['description'] ); // Remove the description tab
unset( $tabs['reviews'] ); // Remove the reviews tab
unset( $tabs['additional_information'] ); // Remove the additional information tab
return $tabs;
}
Tabs umbenennen
Einen bestehenden Tab kannst du einfach umbenennen, indem du den Titel anpasst:
/**
* WooCommerce - Produkt-Tabs umbenennen
* https://wp-bibel.de/tutorial/woocommerce-produkt-tabs-anpassen
*/
add_filter( 'woocommerce_product_tabs', 'wp_bibel_de_rename_woocommerce_product_tabs', 98 );
function wp_bibel_de_rename_woocommerce_product_tabs( $tabs ) {
$tabs['description']['title'] = __( 'More Information' ); // Rename the description tab
$tabs['reviews']['title'] = __( 'Ratings' ); // Rename the reviews tab
$tabs['additional_information']['title'] = __( 'Product Data' ); // Rename the additional information tab
return $tabs;
}
Reihenfolge der Tabs ändern
Die Reihenfolge der Tabs kannst du festlegen, indem du die Priorität der einzelnen Tabs anpasst:
/**
* WooCommerce - Reihenfolge der Produkt-Tabs ändern
* https://wp-bibel.de/tutorial/woocommerce-produkt-tabs-anpassen
*/
add_filter( 'woocommerce_product_tabs', 'wp_bibel_de_reorder_woocommerce_product_tabs', 98 );
function wp_bibel_de_reorder_woocommerce_product_tabs( $tabs ) {
$tabs['reviews']['priority'] = 5; // Reviews first
$tabs['description']['priority'] = 10; // Description second
$tabs['additional_information']['priority'] = 15; // Additional information third
return $tabs;
}
Inhalte eines Tabs verändern
Wenn du den Inhalt eines Tabs verändern möchtest, musst du eine eigene Callback-Funktion anlegen:
/**
* WooCommerce - Inhalte eines Produkt-Tabs verändern
* https://wp-bibel.de/tutorial/woocommerce-produkt-tabs-anpassen
*/
add_filter( 'woocommerce_product_tabs', 'wp_bibel_de_woocommerce_product_tabs_custom_description', 98 );
function wp_bibel_de_woocommerce_product_tabs_custom_description( $tabs ) {
$tabs['description']['callback'] = 'wp_bibel_de_woocommerce_product_tabs_custom_description_callback'; // Custom description callback
return $tabs;
}
function wp_bibel_de_woocommerce_product_tabs_custom_description_callback() {
echo 'Custom Description
';
echo 'Here\'s a custom description';
}
Individuelle Tabs hinzufügen
Um eigene individuelle Tabs hinzuzufügen, erweiterst du das Array $tabs um einen weiteren Tab. Dazu musst du einen Titel, die Priorität und eine Callback-Funktion festlegen.
/**
* WooCommerce - Individuelle Produkt-Tabs hinzufügen
* https://wp-bibel.de/tutorial/woocommerce-produkt-tabs-anpassen
*/
add_filter( 'woocommerce_product_tabs', 'wp_bibel_de_add_woocommerce_product_tabs' );
function wp_bibel_de_add_woocommerce_product_tabs( $tabs ) {
$tabs['wp_bibel_de_custom_tab'] = array(
'title' => __( 'New Product Tab' ),
'priority' => 50,
'callback' => 'wp_bibel_de_new_product_tab_callback'
);
return $tabs;
}
function wp_bibel_de_new_product_tab_callback() {
echo 'New Product Tab
';
echo 'Here\'s your new product tab.';
}
In welche Datei muss man das einfügen?
Ok das kommt in die
ftp:..wp-content/plugins/woocommerce/woocommerce.php. Gibt’s denn auch eine Möglichkeit, die Änderung trotz Plugin-Update beizubehalten?Hallo Dawi,
vielen Dank für deinen Kommentar.
Bitte nehme keine Änderungen an den Dateien eines Plugins vor, da sie bei einem Update verloren gehen.
Du kannst das Snippet in die Datei
functions.phpdeines aktivierten Themes kopieren. Dazu verwendest du am Besten ein Child-Theme, damit die Änderung bei einem Update deines Themes nicht verloren geht.Hast du bereits ein Child-Theme erstellt?
Viele Grüße,
Janine
Ok, danke für den Hinweis. Ja Child-Theme ist angelegt.
Grüße
Ganz großes Kino!!! Herzlichen Dank für die Hilfe, genau das habe ich gesucht 🙂
Jetzt muss ich nur noch die Überschrift „Beschreibung“ über der Beschreibung wegbekommen… Ich schaue mal, ob ich hier da auch fündig werde.
lg Christian
Hallo Christian,
vielen Dank für dein Feedback, über das wir uns sehr freuen 🙂
Um die Überschrift „Beschreibung“ aus dem Tab zu entfernen, kannst du folgenden Filter verwenden:
Viele Grüße,
Janine
Hi Janine,
auch das funktioniert wunderbar. Bin begeistert!
Vielen herzlichen Dank,
lg Christian
Hi Christian,
lieben Dank für deine Rückmeldung. Wir freuen uns sehr, dass wir dir weiterhelfen konnten!
Viele Grüße,
Janine
Hallo Janine,
ist es auch möglich den Tab farbig zu gestalten – und wenn ja, wie?
Viele Grüsse
Andre
Hallo Andre,
vielen Dank für deine Frage. Das Aussehen der Tabs kannst du mit CSS anpassen.
Was genau möchtest du verändern?
Viele Grüße,
Janine
Hallo Janine,
gerne möchte ich z.B. den Tab „Beschreibung“ farbig hinterlegen. Also nur den Bereich (Reiter), der die Beschriftung „Beschreibung“ enthält. Der Rest der Seite mit dem Produkte/Angebotsbeschrieb bleibt weiss.
Besten Dank und viele Grüssse
Andre
Hallo Andre,
das solltest du mit den folgenden Styles erledigen können:
Die Styles kannst du einfach in die Datei
style.cssdeines Child-Themes oder im Customizer unter der Sektion „Zusätzliches CSS“ einfügen.Viele Grüße,
Janine
Janine,
ich danke dir. Werde ich umsetzten.
Viele Grüsse
Andre
Hallo Janine,
leider klappte die Anpassung nicht. Vielleicht hast du noch eine Idee.
Gerne möchte ich dich an dieser Stelle noch fragen, wie ich der Schrift im Tab eine ander Farbe geben könnte.
Besten Dank
Hallo Andre,
unter Verwendung eines Standard-Themes kannst du die Änderung so vornehmen.
Da ich den HTML-Aufbau deines Themes nicht kenne, kann ich dir an dieser Stelle leider nicht weiterhelfen.
Viele Grüße,
Janine
Hallo,
eure Anleitungen haben mir schon sehr geholfen 🙂
Da ich nun einen weiteren Tab hinzufügen möchte, wollte ich einmal Fragen, wo ich den Inhalt für den Tab anschließend eingeben muss?
Muss dieser direkt in den Befehl, also in der functions.php eingepflegt werden? Ich denke nicht, oder?
Irgendwie finde ich den Ort sonst nicht, wo ich den Inhalt eingeben könnte.
Ansonsten ist die Anleitung wie gesagt wirklich super 🙂
Viele Grüße
Fred
Hallo Fred,
vielen Dank für dein Feedback.
Um Inhalt des Tabs im Backend zu pflegen, musst du zunächst ein neues Produktfeld anlegen:
Das neue Feld kannst du dann im Backend unter Produkte → Produkt auswählen → Produktdaten → Allgemein → Custom Tab Description ausfüllen.
Um die eingegebenen Inhalte im Tab anzuzeigen, kannst du die Funktion
get_post_meta()verwenden:Viele Grüße,
Janine
Hallo Janine,
das Tutorial ist echt hilfreich und funktioniert bestens. Danke dafür.
Leider funktionieren Shortcodes nicht, sondern werden unverändert als Text ausgegeben. Weißt du dafür eventuell auch noch eine Lösung?
Viele Grüße und Danke für deine Antwort!
Rudi
Hallo Rudi,
vielen Dank für dein Feedback.
Shortcodes kannst du mit der Funktion
do_shortcode();ausführen.Wo hast du den Shortcode denn eingefügt? Poste gerne noch einen Kommentar mit deinem Quelltext. Da finden wir sicher eine Lösung für.
Viele Grüße,
Janine
Hallo Janine.
Beantwortest du noch Fragen hier zum Thema Shortcodes ausführen in der custom tab description?
Danke. Grüße.
Hallo Philip,
klar, worum geht es denn?
Viele Grüße,
Janine
Wie funktioniert das mit dem Shortcode genau? Ich habe ein custom tab angelegt und würde dort gerne einen Shortcode einfügen, der am Ende ausgeführt werden soll. Allerdings wird der nur in Textform angezeigt. Wo genau muss man das
do_shortcodeeinfügen, damit das funktioniert?Hallo Sebastian,
vielen Dank für deinen Kommentar. Das könnte z.B. so aussehen:
Grüße, Janine
Grüße
Ist es möglich, statt der Tabs, zwei div Boxen nebeneinander darzustellen?
Hallo,
vorab, das ist eine tolle Seite mit super Hinweisen! DANKE!!!
Ich habe auch eine Frage. Wie kann ich einen Bewerbungstext in meinem Produktbereich einfügen welcher „nicht“ öffentlich sichtbar ist. Sollte nur intern sichtbar sein.
Vorab vielen Dank!
Hildy
Hallo zusammen,
erstmal vielen Dank für die schöne Zusammenstellung der Infos.
Ist es auch möglich, nur die #tab-description „Beschreibung“ zu entfernen und die normale Überschrift der Beschreibung zu behalten?
Schöne Grüße, Steffen
Hey ich habe eine Frage wenn ich das Snippet von oben verwende und einen individuellen Tab hinzufüge kann ich den Content dann direkt über dem Produkt einpflegen?
Und wird dann automatisch ein Customfield angelegt?
Hallo, an welcher Stelle und wie kann ich die Tabs für die Produktbeschreibung ect. verbreitern bzw. die Größe und das Layout ändern?
Guten Tag,
vor einiger Zeit habe ich dieses Snippet gefunden und auch erfolgreich eingebunden! Danke!
Jetzt ist es allerdings so, dass wir einen weiteren benutzerdefinierten Tab hinzufügen wollen / müssen.
Jedoch NUR in einer einzigen Produktkategorie! Die ID lautet: 228
Alle versuche meinerseits dies umzusetzen sind gescheitert….
Kannst Du mir dabei behilflich sein?
Danke und schöne Grüße
Karsten