WooCommerce: de producten vinden in de database

Ik maak een website met WooCommerce en ik wil de beschikbare producten beperken tot gebruikers, afhankelijk van de postcode die ze invoeren in het zoekformulier op mijn startpagina.

Om dat te kunnen bereiken, moet ik de voorwaarden van elk product in de database in phpMyAdmin specificeren, maar ik kan het niet vinden.

Weet iemand waar de woocommerce-database voor producten en/of categorieën zich binnen phpmyAdmin bevindt?

Bij voorbaat dank.


Antwoord 1, autoriteit 100%

Update 2020

Producten bevinden zich voornamelijk in de volgende tabellen:

  • wp_poststabel met post_typezoals product(of product_variation),

  • wp_postmetatabel met post_idals relationele index (de product-ID).

  • wp_wc_product_meta_lookuptabel met product_idals relationele index (de post-ID) | Snelle zoekopdrachten over specifieke productgegevens toestaan ​​(sinds WooCommerce 3.7)

  • wp_wc_order_product_lookuptabel met product_idals relationele index (de post-ID) | Sta snelle zoekopdrachten toe om producten op bestellingen op te halen (sinds WooCommerce 3.7)

Producttypen, categorieën, subcategorieën, tags, attributen en alle andere aangepaste taxonomieën staan ​​in de volgende tabellen:

  • wp_terms

  • wp_termmeta

  • wp_term_taxonomy

  • wp_term_relationships– kolom object_idals relationele index (de product-ID)

  • wp_woocommerce_termmeta

  • wp_woocommerce_attribute_taxonomies(alleen voor productkenmerken)

  • wp_wc_category_lookup(alleen voor hiërarchie van productcategorieën sinds WooCommerce 3.7)


Producttypenworden afgehandeld door aangepaste taxonomie product_typemet de volgende standaardvoorwaarden:

  • simple
  • grouped
  • variable
  • external

Enkele andere producttypen voor plug-ins voor abonnementen en boekingen:

  • subscription
  • variable-subscription
  • booking

Sinds Woocommerce 3+ een nieuwe aangepaste taxonomie genaamd product_visibilityhandle:

  • De productzichtbaarheid met de termen exclude-from-searchen exclude-from-catalog
  • De feature producten met de term featured
  • De voorraadstatus met de term outofstock
  • Het beoordelingssysteem met termen van rated-1tot rated-5

Bijzonder kenmerk: elk productkenmerkis een aangepaste taxonomie…


Referenties:


Antwoord 2, autoriteit 13%

De volgende tabellen zijn de winkel WooCommerce-productendatabase:

  • wp_posts

    De kern van de WordPress-gegevens zijn de berichten. Het wordt opgeslagen als een post_type-achtig product of variable_product.

  • wp_postmeta

    Elk bericht bevat informatie die de metagegevens worden genoemd en wordt opgeslagen in de wp_postmeta. Sommige plug-ins kunnen hun eigen informatie aan deze tabel toevoegen, zoals WooCommerce-plug-in winkel product_idvan product in wp_postmeta-tabel.

Productcategorieën, subcategorieën opgeslagen in deze tabel:

  • wp_terms
  • wp_termmeta
  • wp_term_taxonomy
  • wp_term_relationships
  • wp_woocommerce_termmeta

volgens QueryRetourneer een lijst met productcategorieën

SELECT wp_terms.* 
    FROM wp_terms 
    LEFT JOIN wp_term_taxonomy ON wp_terms.term_id = wp_term_taxonomy.term_id
    WHERE wp_term_taxonomy.taxonomy = 'product_cat';

voor meer referentie –


Antwoord 3

Voeg bulksgewijs nieuwe categorieën toe aan Woo:

Categorie-ID, naam, url-sleutel invoegen

INSERT INTO wp_terms 
VALUES
  (57, 'Apples', 'fruit-apples', '0'),
  (58, 'Bananas', 'fruit-bananas', '0');

Stel de termwaarden in als categorieën

INSERT INTO wp_term_taxonomy 
VALUES
  (57, 57, 'product_cat', '', 17, 0),
  (58, 58, 'product_cat', '', 17, 0)

17 – is de bovenliggende categorie, als die er is

de sleutel hier is om ervoor te zorgen dat de wp_term_taxonomy tabel term_taxonomy_id, term_id gelijk zijn aan de term_id van de wp_term tabel

Ga na het uitvoeren van de bovenstaande stappen naar WordPress admin en sla een bestaande categorie op. Hiermee wordt de DB bijgewerkt om uw bulksgewijs toegevoegde categorieën op te nemen


Antwoord 4

Ik raad aan om WordPress aangepaste veldente gebruiken om in aanmerking komende postcodes voor elk product op te slaan. add_post_meta()en update_post_metazijn wat je zoekt. Het wordt niet aanbevolen om de standaard WordPress-tabelstructuur te wijzigen. Alle postmeta’s worden ingevoegd in de wp_postmetatabel. Je kunt de bijbehorende producten vinden in de wp_poststabel.


Antwoord 5

verkrijg productcategorie-ID’s door product_id op te geven (kolom wp_posts ID):

SELECT
    term_taxonomy_id
FROM
    wp_term_relationships
WHERE
    object_id = PRODUCT_ID_HERE
    AND
    term_taxonomy_id IN
        (
            SELECT
                term_taxonomy_id
            FROM
                wp_term_taxonomy
            WHERE
                taxonomy LIKE 'product_cat'
        )

categoriegegevens (naam, slug) en hiërarchische categoriestructuur ophalen:

SELECT
    wp_terms.term_id,
    wp_terms.name,
    wp_terms.slug,
    wp_term_taxonomy.parent
FROM
    wp_terms
LEFT JOIN
    wp_term_taxonomy
    ON wp_terms.term_id = wp_term_taxonomy.term_id
WHERE
    wp_term_taxonomy.taxonomy LIKE 'product_cat'

Other episodes