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();