Script Php: differenze tra le versioni
Da Webmobili Wiki.
| Riga 28: | Riga 28: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
'''Recuperare tutti i termini (categorie + tag + attributi)''' | '''Recuperare tutti i termini (categorie + tag + attributi globali)''' | ||
<syntaxhighlight lang="php"> | <syntaxhighlight lang="php"> | ||
$taxonomies = get_object_taxonomies('product'); | $taxonomies = get_object_taxonomies('product'); | ||
| Riga 40: | Riga 40: | ||
} | } | ||
} | } | ||
</syntaxhighlight> | |||
=== Attributi personalizzati (NON globali) === | |||
Gli attributi personalizzati (non globali) che inserisci a mano nella scheda prodotto non sono tassonomie: sono salvati come metadati in _product_attributes. | |||
Quindi per quelli bisogna usare: | |||
<syntaxhighlight lang="php"> | |||
$attributes = $product->get_attributes(); | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Versione delle 14:07, 5 ago 2025
Woocommerce
Qualsiasi tassonomia associata ai prodotti in WooCommerce.
Tassonomie standard WooCommerce
- Categorie prodotti
$categories = wp_get_post_terms($product->get_id(), 'product_cat');
- Tagprodotti
$tags = wp_get_post_terms($product->get_id(), 'product_tag');
Attributi globali WooCommerce
Gli attributi globali vengono registrati come tassonomie con prefisso pa_. Ad esempio:
- Attributo brand → tassonomia pa_brand
- Attributo fornitore → tassonomia pa_fornitore
- Attributo codice_fornitore → tassonomia pa_codice_fornitore
Quindi puoi recuperarli così:
$brands = wp_get_post_terms($product->get_id(), 'pa_brand');
$fornitori = wp_get_post_terms($product->get_id(), 'pa_fornitore');
$codici_fornitore = wp_get_post_terms($product->get_id(), 'pa_codice_fornitore');
Recuperare tutti i termini (categorie + tag + attributi globali)
$taxonomies = get_object_taxonomies('product');
foreach ($taxonomies as $taxonomy) {
$terms = wp_get_post_terms($product->get_id(), $taxonomy);
if (!empty($terms)) {
echo "<strong>{$taxonomy}:</strong> ";
echo implode(', ', wp_list_pluck($terms, 'name'));
echo "<br>";
}
}
Attributi personalizzati (NON globali)
Gli attributi personalizzati (non globali) che inserisci a mano nella scheda prodotto non sono tassonomie: sono salvati come metadati in _product_attributes. Quindi per quelli bisogna usare:
$attributes = $product->get_attributes();