2017-06-20 135 views
0

我正在嘗試安排產品概要的順序,以便價格在經過簡短說明後發出股票通知之後發出。我知道的重點在內容單product.phpwoocommerce股票通知優先

/** 
     * woocommerce_single_product_summary hook. 
     * 
     * @hooked woocommerce_template_single_title - 5 
     * @hooked woocommerce_template_single_rating - 10 
     * @hooked woocommerce_template_single_price - 10 
     * @hooked woocommerce_template_single_excerpt - 20 
     * @hooked woocommerce_template_single_add_to_cart - 30 
     * @hooked woocommerce_template_single_meta - 40 
     * @hooked woocommerce_template_single_sharing - 50 
     * @hooked WC_Structured_Data::generate_product_data() - 60 
     */ 
     do_action('woocommerce_single_product_summary'); 

限定。然而,我沒有看到股票在大呼過癮。該文件或代碼,我不能找到它。如果我知道股票模板的鉤子和優先級,我可以解決我的問題。我試過

remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_stock', 30); 

沒有結果。誰能幫忙?謝謝。

回答

0

我終於明白了。庫存狀態被硬編碼到模板中,因此您必須先將其從simple.php和variation.php中移除到您的子主題中。 (和grouped.php過,但我不使用分組的產品,所以我沒有需要更新模板。)

從variation.php

<div class="woocommerce-variation-availability"> 
    {{{ data.variation.availability_html }}} 
</div> 

刪除這些線和這條線從simple.php(第28行)

echo wc_get_stock_html($product); 

然後在你的functions.php下面的代碼更改的優先級添加到任何你想去的地方庫存狀態展現出來。

add_action('woocommerce_single_product_summary', 'mh_output_stock_status', 21); 

function mh_output_stock_status () { 
    global $product; 

    echo wc_get_stock_html($product); 

} 

我真的希望股票像摘要的其餘部分一樣被吸引。這會更直截了當。

我希望這可以幫助別人。