针对于炙焰子主题的底部统计问题

原创标识

1.介绍

2.问题

因为旧版的底部统计代码对这个主题是无效的,可能会对主题前端造成灾难性的错误且不会在前台出现错误性的代码。

那究竟是怎么一回事呢?

3.问题起因及解决办法

一.起因

这个是zibll主题的通用的统计代码,可以在横板和竖版之间使用

<!--统计信息函数-->
<script type="text/javascript" >
<?php
//用户总数
$users = $wpdb->get_var("SELECT COUNT(ID) FROM $wpdb->users");echo "var tj_jstext="."'$users'";
?>
</script>
<script type="text/javascript" >
<?php
/*
 * WordPress获取今日发布文章数量
 *www.huliku.com
 */
function nd_get_24h_post_count(){
  $today = getdate();
  $query = new WP_Query( 'year=' . $today["year"] . '&monthnum=' . $today["mon"] . '&day=' . $today["mday"]);
  $postsNumber = $query->found_posts;
  return $postsNumber;
}
$post_24h = nd_get_24h_post_count();
echo "var tj_24h="."'$post_24h'";
?>
</script>
<script type="text/javascript" >
<?php
/*
 * WordPress整站文章访问计数
 *www.huliku.com
 */
function nd_get_all_view(){
  global $wpdb;
  $count=0;
  $views= $wpdb->get_results("SELECT * FROM $wpdb->postmeta WHERE meta_key='views'");
  foreach($views as $key=>$value){
    $meta_value=$value->meta_value;
    if($meta_value!=' '){
      $count+=(int)$meta_value;
    }
  }return $count;
}
$post_view = nd_get_all_view();
echo "var tj_view="."'$post_view'";
?>
</script>
<script type="text/javascript" >
<?php
//日志总数
$count_posts = wp_count_posts();
$published_posts =$count_posts->publish;
echo "var tj_rzzs="."'$published_posts'";
?>
</script>
<script type="text/javascript" >
<?php
//稳定运行
$wdyx_time = floor((time()-strtotime("2020-3-28"))/86400);
echo "var tj_wdyx="."'$wdyx_time'";
?>
</script>

我们先来看看每个结构

1.用户总数

优点:可以通过搜索id来查询本站所有用户有多少个

缺点:对于加密主题,这段代码会将站点的文章以及其他页面造成错误

<script type="text/javascript" >
<?php
//用户总数
$users = $wpdb->get_var("SELECT COUNT(ID) FROM $wpdb->users");echo "var tj_jstext="."'$users'";
?>
</script>

2.WordPress获取今日发布文章数量

<?php
/*
 * WordPress获取今日发布文章数量
 *www.huliku.com
 */
function nd_get_24h_post_count(){
  $today = getdate();
  $query = new WP_Query( 'year=' . $today["year"] . '&monthnum=' . $today["mon"] . '&day=' . $today["mday"]);
  $postsNumber = $query->found_posts;
  return $postsNumber;
}
$post_24h = nd_get_24h_post_count();
echo "var tj_24h="."'$post_24h'";
?>
</script>

缺点:这会导致加密子主题的空白错误

3.访问计数

<?php
/*
 * WordPress整站文章访问计数
 *www.huliku.com
 */
function nd_get_all_view(){
  global $wpdb;
  $count=0;
  $views= $wpdb->get_results("SELECT * FROM $wpdb->postmeta WHERE meta_key='views'");
  foreach($views as $key=>$value){
    $meta_value=$value->meta_value;
    if($meta_value!=' '){
      $count+=(int)$meta_value;
    }
  }return $count;
}
$post_view = nd_get_all_view();
echo "var tj_view="."'$post_view'";
?>
</script>

这个会导致出现首页文章消失

4.访问总数及稳定运行多少天

<script type="text/javascript" >
<?php
//日志总数
$count_posts = wp_count_posts();
$published_posts =$count_posts->publish;
echo "var tj_rzzs="."'$published_posts'";
?>
</script>
<script type="text/javascript" >
<?php
//稳定运行
$wdyx_time = floor((time()-strtotime("2022-01-01"))/86400);
echo "var tj_wdyx="."'$wdyx_time'";
?>
</script>

这段代码会导致前台出现函数错误

二.解决方法

本站使用的是huliku.com的方案

将函数之后的代码进行替换,可以达到解决这个问题的方案

这个子主题使用的底部自定义页脚来源于狐狸库,所以跟优化后的统计函数与页脚适配

将这段代码加入到zibll主题的header.php之后即可

<script type="text/javascript" >
//文章总数
<?php $count_posts = wp_count_posts(); $published_posts =$count_posts->publish;echo "var tj_rzzs="."'$published_posts'";?>
//本周发布
<?php $post_wpdb = get_posts_count_from_last_168h($post_type ='post');echo "var tj_24h="."'$post_wpdb'";?>
//运行时间
<?php $wdyx_time = floor((time()-strtotime("2022-07-01 13:57:00"))/86400);echo "var tj_wdyx="."'$wdyx_time'";?>
//用户总数
<?php global $wpdb;$users = $wpdb->get_var("SELECT COUNT(ID) FROM $wpdb->users");echo "var tj_jstext="."'$users'";?>
//总访问量
<?php $post_view = nd_get_all_view();echo "var tj_view="."'$post_view'";?>
</script>

© 版权声明
WWW.ANXKJ.TOP
喜欢就支持一下吧
点赞13 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容