我是新WooCommerce,我有一个产品单页问题。这是评级和共享未显示。我想在单页上显示评分、分享和评论计数。
波纹管content-single-product.php 密码
<div class="summary entry-summary">
<?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\' );
?>
</div>
这样评级和分享就不来了。但这是默认代码。
我在我的函数中这样做
remove_action( \'woocommerce_single_product_summary\', \'woocommerce_template_single_rating\', 10 );
remove_action( \'woocommerce_single_product_summary\', \'woocommerce_template_single_price\', 10 );
remove_action( \'woocommerce_single_product_summary\', \'woocommerce_template_single_excerpt\', 20 );
remove_action( \'woocommerce_single_product_summary\', \'woocommerce_template_single_add_to_cart\', 30 );
remove_action( \'woocommerce_single_product_summary\', \'woocommerce_template_single_meta\', 40 );
remove_action( \'woocommerce_single_product_summary\', \'woocommerce_template_single_sharing\', 50 );
add_action( \'woocommerce_single_product_summary\', \'woocommerce_template_single_meta\', 10 );
add_action( \'woocommerce_single_product_summary\', \'woocommerce_template_single_price\', 20 );
add_action( \'woocommerce_single_product_summary\', \'woocommerce_template_single_add_to_cart\', 30 );
add_action( \'woocommerce_single_product_summary\', \'woocommerce_template_single_rating\', 40 );
add_action( \'woocommerce_single_product_summary\', \'woocommerce_template_single_sharing\', 50 );
现在仍在播放。我签入生成html代码。没有我看到的类/id/div分级和共享html
但我的店铺(产品)页面缩略图评级显示。我添加了服装开始等级
add_action(\'woocommerce_after_shop_loop_item\', \'get_star_rating\' );
function get_star_rating()
{
global $woocommerce, $product;
$average = $product->get_average_rating();
echo \'<div class="star-rating"><span style="width:\'.( ( $average / 5 ) * 100 ) . \'%"><strong itemprop="ratingValue" class="rating">\'.$average.\'</strong> \'.__( \'out of 5\', \'woocommerce\' ).\'</span></div>\';
}
这是“查找一个产品”页面。我想在我的单页中添加此开始分级和剪切按钮,并想查看计数。。附加图像示例
我认为分享有插件。如果你们有任何推荐的插件,请与我分享。
最合适的回答,由SO网友:AddWeb Solution Pvt Ltd 整理而成
我试图给你一些清理解决方案,这是基本的代码设置。
For social share:请参阅插件Social Sharing Toolkit 这很容易在社交网络上共享和连接。在帖子上显示或使用小部件或短代码。还有Twitter名称/标签链接转换器。
use do_shortcode(\'[social_share]\')
用于在网站的任何位置显示社交共享。在产品页面中,在中使用此代码content-single-product.php
文件
For Star rating:这里有一个排序逻辑,如果您需要单个产品的星级,那么您需要进行模板编辑。
编辑您的/x/woocommerce/single-product/rating.php
并在之前添加此代码?>
GLOBAL $product; echo \'<div class="star-rating-container aggregate">\' . $product->get_rating_html() . \'</div>\';
这将在产品名称下方添加星级。
See more at here.
对于上述解决方案,我不确定这一点,所以如果你想冒险的话。
你可以把它放到你的主题中functions.php
文件:
add_action(\'woocommerce_after_shop_loop_item\', \'my_print_stars\' );
function my_print_stars(){
global $wpdb;
global $post;
$count = $wpdb->get_var("
SELECT COUNT(meta_value) FROM $wpdb->commentmeta
LEFT JOIN $wpdb->comments ON $wpdb->commentmeta.comment_id = $wpdb->comments.comment_ID
WHERE meta_key = \'rating\'
AND comment_post_ID = $post->ID
AND comment_approved = \'1\'
AND meta_value > 0
");
$rating = $wpdb->get_var("
SELECT SUM(meta_value) FROM $wpdb->commentmeta
LEFT JOIN $wpdb->comments ON $wpdb->commentmeta.comment_id = $wpdb->comments.comment_ID
WHERE meta_key = \'rating\'
AND comment_post_ID = $post->ID
AND comment_approved = \'1\'
");
if ( $count > 0 ) {
$average = number_format($rating / $count, 2);
echo \'<div class="starwrapper" itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">\';
echo \'<span class="star-rating" title="\'.sprintf(__(\'Rated %s out of 5\', \'woocommerce\'), $average).\'"><span style="width:\'.($average*16).\'px"><span itemprop="ratingValue" class="rating">\'.$average.\'</span> </span></span>\';
echo \'</div>\';
}
}
请注意,您可能需要更改\'
woocommerce_after_shop_loop_item
\' 根据您的设计以及您希望星星出现的具体位置,选择不同的挂钩。
有关更多详细信息,请查看wooCodex.
希望这对你有帮助!