在 Woocommerce 产品页面上显示产品查看次数

Posted

技术标签:

【中文标题】在 Woocommerce 产品页面上显示产品查看次数【英文标题】:Showing Product View Count on Woo commerce Product Page 【发布时间】:2020-01-03 13:12:50 【问题描述】:

我有 WordPress 网站 www.kampungcourse.id 来选择语言课程。我想显示有多少人观看了特定产品。使用帖子视图计数器插件,它会在主页和博客页面上显示帖子视图,但不会在 woo-commerce 产品页面上显示帖子视图。任何人都可以帮助自定义代码来实现这个

我尝试使用 post view counter 插件,但它不适用于 woo-commerce 的产品页面。

【问题讨论】:

请参考 github 上的这个 woo commerce 插件以获取产品查看次数github.com/wp-plugins/product-view-counter 【参考方案1】:

将下面的代码插入到function.php文件中。您可以按用户 IP 地址在表中插入查看次数。

add_action('wp', function() 

global $post;

$user_ip = $_SERVER['REMOTE_ADDR'];

$meta = get_post_meta( $post->ID, 'views_count', TRUE );

$meta = '' !== $meta ? explode( ',', $meta ) : array();
$meta = array_filter( array_unique( $meta ) );

if( ! in_array( $user_ip, $meta ) ) 

array_push( $meta, $user_ip );
update_post_meta( $post->ID, 'views_count', implode(',', $meta) );

);

在添加到购物车按钮之前显示特定的产品查看次数。

add_action( 'woocommerce_before_add_to_cart_button', 'add_content_before_addtocart_button_func',0 );
function add_content_before_addtocart_button_func() 

        global $product;
        $id = $product->id;         
        $meta = get_post_meta( $id, 'views_count', TRUE );
        if(empty($meta))
        
            $result = 0;
        
        else
                
        $result = count(explode(',',$meta)); 
               
        echo "<div class='custom-visitor-count-st' style='font-size: 20px;'>";
        echo "<i class='fa fa-eye'></i>";
        echo "<span class='cv-value'>";
        echo $result;
        echo " Views</span></div>";

您可以使用任何其他 woo 商务挂钩来显示查看次数。

【讨论】:

它会显示特定访问者观看的产品总数。或所有用户的总访问次数。因为我想显示所有用户的访问总数,。这样访问者就可以知道产品被观看了多少次。 它将显示所有用户的产品观看总数。 所以我应该将两个代码都添加到 function.php 或者只是第二个 将两个代码都添加到function.php中。 是的。它会工作。您可以在 add_content_before_addtocart_button_func() 函数中根据您的要求更改设计。【参考方案2】:

请将此功能替换如下,以在评分栏旁边的页面顶部显示视图。

add_action( 'woocommerce_before_add_to_cart_button', 'add_content_before_rating_button_func',0 );

    function add_content_before_rating_button_func()         
                global $product;
                $id = $product->id;         
                $meta = get_post_meta( $id, 'views_count', TRUE );
                if(empty($meta))
                
                    $result = 0;
                
                else
                        
                $result = count(explode(',',$meta)); 
                       

        ?>
                <script>
                var html="";
                var result = "<?php echo $result ?>";
                html += "<div class='custom-visitor-count-st' style='font-size: 20px;'>";
                html += "<i class='fa fa-eye'></i>";
                html += "<span class='cv-value'>";
                html += result;
                html += " Views</span></div>";

                $(html).insertAfter('.woocommerce-product-rating');
                </script>
                <?php
        

【讨论】:

以上是关于在 Woocommerce 产品页面上显示产品查看次数的主要内容,如果未能解决你的问题,请参考以下文章

php [在存档页面上显示产品尺寸]在存档页面上显示WooCommerce 3.0+产品尺寸,位于产品标题下方。

php [在存档页面上显示产品尺寸]在存档页面上显示WooCommerce 3.0+产品尺寸,位于产品标题下方。

php [在存档页面上显示产品尺寸]在存档页面上显示WooCommerce 3.0+产品尺寸,位于产品标题下方。

在 Woocommerce 购物车页面上显示特定产品属性

单个产品页面上的 Woocommerce 钩子溢出

在产品页面上显示运费 - WooCommerce