【问题标题】:woocommerce stock notification prioritywoocommerce 库存通知优先级
【发布时间】:2017-11-23 16:14:29
【问题描述】:

我正在尝试安排产品摘要的顺序,以便价格在库存通知之后,在简短描述之后。我知道 content-single-product.php 中定义的优先级

/**
         * 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 );

没有结果。任何人都可以帮忙吗?谢谢。

【问题讨论】:

    标签: woocommerce stock


    【解决方案1】:

    我终于明白了。库存状态被硬编码到模板中,因此您必须首先将其从子主题中的 simple.php 和 variant.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 );
    
    }
    

    我真的希望股票能像总结的其余部分一样被吸引。这会更直接。

    我希望这对其他人有帮助。

    【讨论】:

      猜你喜欢
      • 2015-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多