2016-07-16 14 views
1

Ich habe eine WooCommerce-Site mit automatisch importierten Produkten, die sie jede Woche aktualisieren. Diese Produkte haben Attribute genannt COLOR und SIZE.WooCommerce Elternattribut automatisch hinzufügen

jedoch die COLORroten hat diese Unterattribute (zum Beispiel):

  • Karminrot
  • Cola Red
  • Puma Red

Normalerweise , Muss ich manuell diese Sub- Attribute zum Attribut "Parent RED" und das ist eine Menge Arbeit.

Ich frage mich, ob es eine Möglichkeit gibt, dies automatisch zu tun?

Wenn das Attribut beispielsweise das Wort ROT enthält, weisen Sie es dem übergeordneten Attribut ROT zu.

Danke.

Antwort

1

Dies könnte als eine seltsame Antwort sehen. Zuerst sollte es Ihnen helfen, zu verstehen, wie es in der WordPress/WooCommerce-Datenbank läuft und es könnte eine gute Alternative sein, wenn Sie etwas über Database SQL oder MySQL verstehen. Hier

erläutert zunächst, wie WooCommerce Attribute und Unterattribute gesetzt sind in der Datenbank:

  1. Wenn Sie ein Attribut erstellen, geht es auf DB-Tabelle wp_woocommerce_attribute_taxonomies.
attribute_name attribute_label attribute_id attribute_type attribute_orderby attribute_public 

color   color   1    select   menu_order   0 
  1. Jedes Unter Attribut geht in DB-Tabelle wp_terms (so sind sie Begriffe). Hier habe ich drei Unterattribute: 'black', 'blue' und 'green':
term_id  name  slug  term_group 

8   Black  black  0 
9   Blue  blue  0 
10   Green  green  0 
  1. Die Beziehungen zwischen diesem Hauptattribut und seinen Sub-Attributen befindet sich in der DB-Tabelle wp_term_taxonomy.
    Stellen Sie sich nun vor, dass der Slug Ihres Master-Attributs 'color' ist.
    dann für jedes Unterattribut term_id Sie eine Schnecke String mit 'pa_ Anfang haben (die p roduct ein ttribute bedeuten) + das Hauptattribut Slug color.
    So bekommst du endlich: 'pa_color'
    (hoffe das ist klar).

    Jetzt in dieser Tabelle haben Sie eine 'count' Spalte, die die Anzahl der Produkte im Zusammenhang mit dieser Unterkategorie term_id zählt.
term_taxonomy_id term_id  taxonomy description parent count 

8     8   pa_color    0  2 
9     9   pa_color    0  1 
10     10   pa_color    0  1 
  1. In DB-Tabelle wp_term_relationships Sie werden die Beziehungen zwischen den Produkten finden (object_id Spalte, die durch Variationen zum Beispiel verwendet wird) und Unterattribute (term_taxonomy_id Spalte). Wie man auf das Beispiel unten sehen kann, werden die Unterattribute von 2 verwendeten Produkten (object_id):
object_id term_taxonomy_id  term_order 

22   8      0 
40   8      0 
40   9      0 
22   10      0 

Eine SQL-Lösung:
für Sie, wenn Sie Datenbank-Tabellen ändern können, Die nützliche Tabelle zum Ändern ist wp_term_taxonomy DB-Tabelle.

  1. Suche alle Unter Attribute term_id in wp_terms DB-Tabelle.
  2. Vergleichen sie für jeden term_id in wp_term_taxonomy DB-Tabelle
  3. für alle nicht erstellen bestehenden term_id in wp_term_taxonomy mit dem richtigen 'taxonomy' Slug zu existieren.

Dies ist möglich mit SQL-Abfragen durch PHP (dass Sie Ihre ganz speziellen Bedürfnisse zur Feinabstimmung auf die Füße müssen).

Ich hoffe, dass Ihnen das ein wenig helfen wird.

einige nützliche Verknüpfungen, im Zusammenhang mit SQL wp_term_taxonomy:

+0

Vielen Dank für Ihre Antwort! Will hineinschauen – Matthias