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

Stu*_*Stu 3 php wordpress product rating woocommerce

实际上,在 WooCommerce 中,我使用下面的代码来更改我的简单产品的价格位置:

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');
Run Code Online (Sandbox Code Playgroud)

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

这里是产品实时链接

请问,这有什么帮助吗?

谢谢

Loi*_*tec 5

如果您打开模板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' );
Run Code Online (Sandbox Code Playgroud)

因此,这向您展示了不同的模板woocommerce_single_product_summary,它们以它们的优先级(最后的小数字)连接到action hook 中。

因此,您可以重用我的代码并将其替换为以下代码

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');
Run Code Online (Sandbox Code Playgroud)

并且您需要在style.css您的活动主题(最好使用子主题)中添加一些 CSS 规则,以将产品价格与此评级并列。为此,您必须针对正确的选择器,有时您将不得不添加!important到该规则中,以使它们有效。如果需要,您还可以在我的答案功能中操作优先级数字……

代码位于活动子主题(或主题)的 function.php 文件或任何插件文件中。

该代码经过测试并有效。