必承其重 | 欲带皇冠 2019-12-31 06:04 采纳率: 50%
浏览 43

自定义字段ajax搜索

I have here a function which sums up all the stocks of product variation.

add_action( 'woocommerce_after_shop_loop_item', 'wc_loop_get_product_stock_availability_text', 10 ); function wc_loop_get_product_stock_availability_text() { global $wpdb, $product;

// For variable products
if( $product->is_type('variable') ) {

    // Get the stock quantity sum of all product variations (children)
    $stock_quantity = $wpdb->get_var("
        SELECT SUM(pm.meta_value) FROM {$wpdb->prefix}posts as p
        JOIN {$wpdb->prefix}postmeta as pm ON p.ID = pm.post_id
        WHERE p.post_type = 'product_variation'
        AND p.post_status = 'publish' AND p.post_parent = '".get_the_id()."'
        AND pm.meta_key = '_stock' AND pm.meta_value IS NOT NULL
    ");

    if ( $stock_quantity > 0 ) {
        echo '<p class="stock in-stock" >'. sprintf( __("%s in stock", "woocommerce"), $stock_quantity ).'</p>';
    } else {
        if ( is_numeric($stock_quantity) )
            echo '<p class="stock out-of-stock">' . __("Out of stock", "woocommerce") . '</p>';
        else
            return;
    }
}
// Other products types
else {
    echo wc_get_stock_html( $product );
}

}

How can i use this to show in my ajax search? When I used the {_stocks} field, the stocks doesnt show in the result. This is the format of the fields that i've used in the plugin. enter image description here

thanks for the help.

  • 写回答

0条回答 默认 最新

    报告相同问题?