Hinzufügen eines benutzerdefinierten Textes neben einem bestimmten Produktattributlabel in WooCommerce

Lesezeit: 2 Minuten

Hinzufugen eines benutzerdefinierten Textes neben einem bestimmten Produktattributlabel in WooCommerce
GTO

Der Versuch, Text (am besten innerhalb eines div) neben dem Titel/Label für eine Variation (z. B. SIZE) hinzuzufügen ohne die Woocommerce-Seitenvorlage zu bearbeiten.

Pseudocode:

function my_text_after_variation (){
  if attribute pa_size exists {
    echo label for pa_size;
    echo <div> MY TEXT </div>;
}else{
   return;
}};

Jede Hilfe ist sehr willkommen.

Verschieben Sie den Text der Größentabelle neben das Größenattributlabel

  • Diese Frage ist einfach unklar… Der Titel der Produktvariation befindet sich in den Warenkorbartikeln auf der Warenkorbseite und den Checkout-Seiten. Jetzt befindet sich das Attribut Title/Label in den Drop-down-Menüs für variable Produkte auf einzelnen Produktseiten. Sie sollten also bitte einen Screenshot oder einen Live-Link und bessere Erklärungen bereitstellen. Danke

    – LoicTheAztec

    7. Februar 2018 um 21:06 Uhr

  • @LoicTheAztec – merci mon amis 🙂 Ich habe den Screenshot hinzugefügt, um zu erklären, wonach ich suche. Diese benötige ich nur auf den einzelnen Produktseiten und sonst nirgendwo. Danke Loic

    – GTO

    8. Februar 2018 um 13:14 Uhr

  • Ok, gut, ich habe geantwortet und ist ruhig, einfach und leicht. Da die Anzeige nicht inline mit a <div> -Tag wird der angehängte benutzerdefinierte Text in die nächste Zeile verschoben.

    – LoicTheAztec

    8. Februar 2018 um 16:41 Uhr

Um einen benutzerdefinierten Text direkt nach einem bestimmten Attributbezeichnungsnamen anzuzeigen, verwenden Sie eine eingehängte benutzerdefinierte Funktion woocommerce_attribute_label dedizierter Filter-Hook, auf diese Weise:

add_filter( 'woocommerce_attribute_label', 'custom_attribute_label', 10, 3 );
function custom_attribute_label( $label, $name, $product ) {
    $taxonomy = 'pa_'.$name;

    if( $taxonomy == 'pa_size' )
        $label .= '<div class="custom-label">' . __('MY TEXT', 'woocommerce') . '</div>';

    return $label;
}

Der Code wird in die function.php-Datei Ihres aktiven untergeordneten Designs (oder aktiven Designs) eingefügt.

Getestet und funktioniert.

  • Das Problem bei dieser Lösung ist, dass sie //auch// das Dropdown ändert, was nicht so schön ist :/

    – Shaneonabike

    2. November 2018 um 12:41 Uhr

Wenn Sie die Woocommerce-Seitenvorlage nicht bearbeiten können, versuchen Sie, jQuery zu verwenden. Zum Beispiel:

$('.pa_size label').after('<span class="some-text">some text</text>');

Wenn Sie variablen Text verwenden müssen, können Sie mit dieser Variablen ein Objekt erstellen, indem Sie ‘wp_localize_script‘ und holen Sie es von diesem Objekt:

Funktion.php

// Localize the script with your data
$data_array = array(
  'some_text' => __( 'Some text to insert', 'my-domain' ),
);
wp_localize_script( 'some_handle', 'object_name', $data_array );

jQuery:

$('.pa_size label').after(object_name.some_text);

  • Danke Alexander | Ich muss eine PHP-Variable in diesem neuen div ausgeben/ausgeben und kann sie mit dem folgenden Code, der aus Ihrer Antwort angepasst wurde, nicht zum Laufen bringen: ` function add_div_after_pa_size () { global $product_id ?>

    – GTO

    8. Februar 2018 um 16:18 Uhr


999010cookie-checkHinzufügen eines benutzerdefinierten Textes neben einem bestimmten Produktattributlabel in WooCommerce

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy