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_posts
tabel metpost_type
zoalsproduct
(ofproduct_variation
), -
wp_postmeta
tabel metpost_id
als relationele index (de product-ID). -
wp_wc_product_meta_lookup
tabel metproduct_id
als relationele index (de post-ID) | Snelle zoekopdrachten over specifieke productgegevens toestaan (sinds WooCommerce 3.7) -
wp_wc_order_product_lookup
tabel metproduct_id
als 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
– kolomobject_id
als 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_type
met 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_visibility
handle:
- De productzichtbaarheid met de termen
exclude-from-search
enexclude-from-catalog
- De feature producten met de term
featured
- De voorraadstatus met de term
outofstock
- Het beoordelingssysteem met termen van
rated-1
totrated-5
Bijzonder kenmerk: elk productkenmerkis een aangepaste taxonomie…
Referenties:
- Normale tabellen: WordPress-databasebeschrijving
- Specifieke tabellen: Woocommerce-databasebeschrijving
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 ofvariable_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_id
van 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_postmeta
tabel. Je kunt de bijbehorende producten vinden in de wp_posts
tabel.
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'