Woocommerce erhält die Produktattribut-ID anhand des Namens
Lesezeit: 2 Minuten
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
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
13709200cookie-checkWoocommerce erhält die Produktattribut-ID anhand des Namensyes
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