2017-06-20 62 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); 

} 

我真的希望股票像摘要的其余部分一样被吸引。这会更直截了当。

我希望这可以帮助别人。