亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 WooCommerce 中獲取附加到產品的所有“活動”屬性分類法?

在 WooCommerce 中獲取附加到產品的所有“活動”屬性分類法?

PHP
慕哥9229398 2023-04-15 10:26:01
我想獲得附加到產品的所有“活動”屬性列表,因此,如果該屬性存在,但不附加到任何產品,則不會顯示。我可以像這樣將所有屬性顯示為下拉列表:$attributes =  wc_get_attribute_taxonomies();if($attributes) {    echo '<select name="all-attributes" id="all-attributes">';    foreach ( $attributes as $attribute ) {        echo '<option value="' . $attribute->attribute_name . '">' . $attribute->attribute_label . '</option>';    }    echo '</select>';}但是通過這種方式我得到了所有屬性,甚至沒有附加非活動屬性。如何在 WooCommerce 中獲取附加到產品的所有活動產品屬性分類法?
查看完整描述

1 回答

?
莫回無

TA貢獻1865條經驗 獲得超7個贊

要獲取所有活動的產品屬性分類法(至少附加到產品),您將需要一個自定義的簡單 sql 查詢,如下所示(嵌入在 php 函數中):


function wc_get_active_attribute_taxonomies() {

    global $wpdb;


    return $wpdb->get_results( "

        SELECT DISTINCT  wat.*, tt.taxonomy

        FROM {$wpdb->prefix}woocommerce_attribute_taxonomies wat

        INNER JOIN {$wpdb->prefix}term_taxonomy tt

            ON tt.taxonomy = CONCAT('pa_', wat.attribute_name)

        INNER JOIN {$wpdb->prefix}term_relationships tr

            ON tt.term_taxonomy_id = tr.term_taxonomy_id

        WHERE tt.count > 0

    " );

}

代碼進入您的活動子主題(或活動主題)的 functions.php 文件。測試和工作。


用法 (基于您的代碼):


只需更換:


$attributes = wc_get_attribute_taxonomies();

經過:


$attributes = wc_get_active_attribute_taxonomies();

注意:此查詢輸出還包括“分類法”參數。


查看完整回答
反對 回復 2023-04-15
  • 1 回答
  • 0 關注
  • 125 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號