Woocommerce erhält die Produktattribut-ID anhand des Namens

Lesezeit: 2 Minuten

Benutzer-Avatar
Robbie Lewis

Ich möchte die ID eines Woocommerce-Produktattributs mithilfe des Attributnamens abrufen. z.B pa_foobar

Ich weiß, dass Produktattribute Taxonomien sind, aber get_taxonomy() gibt die Taxonomie-ID nicht zurück. Ich kann keine Woocommerce-Funktion finden, die dies tut.

  • Dies wurde bereits in diesem Antwortthread beantwortet

    – LoicTheAztec

    29. April 2018 um 19:41 Uhr

  • @LoicTheAztec stimmt nicht, Sie können dort nicht die beste Lösung finden (zu verwenden wc_attribute_taxonomy_id_by_name('pa_foobar')).

    – Artur Czyżewski

    12. April 2019 um 13:13 Uhr


  • @ArturCzyżewski Entschuldigung, aber die benutzerdefinierte Funktion get_attribute_id_from_name() ist ein bisschen leichter als der offizielle Woocommerce und beantwortet diese Frage auch … Also ja, es wurde schon einmal beantwortet … Ich hätte diesen Thread als doppelt schließen können, was ich nicht getan habe, damit die Leute antworten können.

    – LoicTheAztec

    12. April 2019 um 14:16 Uhr


Sie können verwenden wc_attribute_taxonomy_id_by_name($taxonomy_name).

  • Hi! Bitte erklären Sie, warum dies eine Lösung für OPs-Code ist, da Antworten nur auf Code auf SO nicht empfohlen werden. Dies würde OP und zukünftigen Besuchern der Website helfen. Vielen Dank!

    – d_kennnetz

    12. April 2019 um 17:01 Uhr

Woocommerce speichert Attribute in der Tabelle wp_woocommerce_attribute_taxonomies. Das direkte Abfragen der Datenbank wird nicht empfohlen, aber ich konnte die Attribut-ID mit diesem Code abrufen:

global $wpdb;
$attribute_id = $wpdb->get_var("select attribute_id from {$wpdb->prefix}woocommerce_attribute_taxonomies where attribute_name="pa_foobar"");

  • Ja, diese SQL-Abfrage ähnelt der in meiner benutzerdefinierten Funktion verwendeten get_attribute_id_from_name() an dieser Antwortthread … +1

    – LoicTheAztec

    12. April 2019 um 14:15 Uhr


Benutzer-Avatar
moga

Das kannst du verwenden

woocommerce_get_product_terms

oder

get_the_terms()

https://developer.wordpress.org/reference/functions/get_the_terms/

 global $product;
 $id = $product->get_id();

  • Dies beantwortet die Frage nicht. Ich möchte eine Produktattribut-ID erhalten, keine Produkt-ID. Zu diesem Zeitpunkt ist das Attribut möglicherweise noch nicht einmal einem Produkt zugeordnet.

    – Robbie Lewis

    29. April 2018 um 17:28 Uhr

  • Die beiden oben erwähnten Funktionen geben die Produktattribut-ID nicht zurück. Sie geben Attributausdrücke zurück.

    – Robbie Lewis

    29. April 2018 um 17:35 Uhr

  • Hast du das gesehen $terms = wp_get_object_terms( $post->ID, $taxonomy );

    – mooga

    29. April 2018 um 17:40 Uhr

  • Was ist, wenn das Attribut noch keinem Produkt zugeordnet ist?

    – Robbie Lewis

    29. April 2018 um 17:59 Uhr

1370920cookie-checkWoocommerce erhält die Produktattribut-ID anhand des Namens

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

Privacy policy