wordpressでwoocommerceを使用して、シンプルなショップサイトを作成し、製品にいくつかの属性を追加しました。これらはsize
とcolor
です。サイズにはさまざまな値があります。小、中、大を含み、色も同じ、赤、青、緑。
私がやりたいのは、これらの値をドロップダウンに表示することです。基本的にそれらをリストするだけなので、値をショップカタログページのフィルターとして使用できます。
どんな助けも素晴らしいでしょう。
編集:私はwoocommerceコードとAPIドキュメントを掘り下げましたが、属性を引き出すためにこのコードを見つけました。
_global $woocommerce;
$attr_tax = $woocommerce->get_attribute_taxonomy_names();
foreach( $attr_tax as $tax ) {
echo $woocommerce->attribute_taxonomy_name( $tax->attribute_name );
}
_
このスニペットが提供するのは、分類学のナメクジのみです。 pa_sizeおよびpa_color。私はwoocommerceを始めたばかりですが、そこでapi docsを検索しても、これらの属性の値を取得する方法については何も明らかにされていません。
get_terms()
を使用できます http://codex.wordpress.org/Function_Reference/get_terms
Pa_sizeまたはpa_colorを渡すと、その分類法の用語のリストが返されます。
これが誰かに役立つことを願っています:
global $product;
// Get product attributes
$attributes = $product->get_attributes();
if ( ! $attributes ) {
echo "No attributes";
}
foreach ( $attributes as $attribute ) {
echo $attribute['name'] . ": ";
$product_attributes = array();
$product_attributes = explode('|',$attribute['value']);
$attributes_dropdown = '<select>';
foreach ( $product_attributes as $pa ) {
$attributes_dropdown .= '<option value="' . $pa . '">' . $pa . '</option>';
}
$attributes_dropdown .= '</select>';
echo $attributes_dropdown;
}
この投稿はしばらく前に書かれたので、Woocommerceが以前の化身でこの方法を使用していたかどうかはわかりません。
これを実行しようとしている他の人にとっては、この行で十分です。
$product->list_attributes();
これにより、順序をカスタマイズし、バックエンドでバリエーションを表示するかどうかを切り替えることができます。
Htmlを出力する@ user5029040の回答に加えて、配列を取得する場合は、次の関数を使用できます。
$product->get_variation_attributes();