web-dev-qa-db-ja.com

woocommerceは属性値のリストを取得します

wordpressでwoocommerceを使用して、シンプルなショップサイトを作成し、製品にいくつかの属性を追加しました。これらはsizecolorです。サイズにはさまざまな値があります。小、中、大を含み、色も同じ、赤、青、緑。

私がやりたいのは、これらの値をドロップダウンに表示することです。基本的にそれらをリストするだけなので、値をショップカタログページのフィルターとして使用できます。

どんな助けも素晴らしいでしょう。

編集:私は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を検索しても、これらの属性の値を取得する方法については何も明らかにされていません。

12
clueless

get_terms()を使用できます http://codex.wordpress.org/Function_Reference/get_terms

Pa_sizeまたはpa_colorを渡すと、その分類法の用語のリストが返されます。

16
Steven Jones

これが誰かに役立つことを願っています:

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;
}
14
runningonplants

この投稿はしばらく前に書かれたので、Woocommerceが以前の化身でこの方法を使用していたかどうかはわかりません。
これを実行しようとしている他の人にとっては、この行で十分です。

$product->list_attributes();

これにより、順序をカスタマイズし、バックエンドでバリエーションを表示するかどうかを切り替えることができます。

7
user5029040

Htmlを出力する@ user5029040の回答に加えて、配列を取得する場合は、次の関数を使用できます。

$product->get_variation_attributes();
4
Arif