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

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

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

【问题讨论】:

标签: php wordpress


【解决方案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
        }

【讨论】:

    猜你喜欢
    • 2017-06-14
    • 1970-01-01
    • 1970-01-01
    • 2016-05-07
    • 1970-01-01
    • 2018-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多