更改单个商品页面上的评论评级位置

时间:2017-03-01 12:12:35

标签: php wordpress woocommerce product rating

实际上,在WooCommerce中,我使用the code below来更改我的简单产品的价格位置:

function changing_price_location_for_simple_products(){
    global $product;

    if($product->is_type('simple')) // Only for simple products (thanks to helgathevicking)
    {
        remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_price', 10);
        add_action('woocommerce_single_product_summary', 'woocommerce_template_single_price', 25);
    }
}
add_action('woocommerce_before_single_product', 'changing_price_location_for_simple_products');

我想将评论中的星级评分从页面顶部向下移动到我的价格的上方或右侧。

这里是live link to a product

请对此有何帮助?

谢谢

1 个答案:

答案 0 :(得分:3)

如果您打开template woocommerce文件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
     */
    do_action( 'woocommerce_single_product_summary' );

因此,这会向您展示 woocommerce_single_product_summary 动作挂钩中的不同模板及其优先级(最后的小数字)。

所以你可以reuse my code并用这个替换它:

function customizing_simple_products(){
    global $product;

    if($product->is_type('simple')) // Only for simple products (thanks to helgathevicking)
    {
        remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_price', 10);
        remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_rating', 10); 
        add_action('woocommerce_single_product_summary', 'woocommerce_template_single_price', 25);
        add_action('woocommerce_single_product_summary', 'woocommerce_template_single_rating', 26); 
    }
}
add_action('woocommerce_before_single_product', 'customizing_simple_products');

您需要在活动主题 style.css 中添加一些CSS规则(最好使用子主题)才能获得产品价格与此评级并排。为此,您必须定位正确的选择器,有时您将不得不将 !important 添加到该规则中,以使其有效。如果在我的答案函数中需要,你也可以操纵优先级数字......

代码放在活动子主题(或主题)的function.php文件中,或者放在任何插件文件中。

代码经过测试并有效。