首页
Search
1
入手慈云香港BGP云服务器
7 阅读
2
淘宝的客服真业余
5 阅读
3
朋友圈又被财神占领
5 阅读
4
意外险变相涨价
4 阅读
5
老郭玩域名之第一次出售域名
4 阅读
网络
数码
家居
购物
金融
汽车
旅游
健康
游戏
通信
美食
娱乐
教育
登录
找到
5
篇与
代码
相关的结果
2024-11-27
修正博客字数统计不准确的问题
为了便于博客的统计和阅读,老郭分别设置了博客整体字数统计和每篇文章字数统计的功能,详见《为使用子比主题的博客文章添加字数统计》和《解决Simple Blog Stats插件字数统计错误的问题》。不过,由于之前使用的代码都是从网上找来之后老郭手动修改的,虽然能够实现基本的功能,但却不太完善。最主要的问题之一就是对于含有代码的文章字数统计出入太大,例如《给博客加上重要日子倒计时》这篇文章,虽然正文只有不到300个字,但是由于文章里有大段的代码,导致最后统计的时候把代码也给算了进去,结果就变成了超过3000个字,足足相差了10倍。 虽然这个问题对于博客的运行没有什么影响,但总让人看着不那么舒服。于是老郭只得再一次求助于AI,经过多次的修改,终于算是较为圆满的解决了这一个问题。不得不说,现在AI对于编程来说确实是太方便了,不然以老郭的水平,是不可能完成这项工作的。 具体的修改内容,老郭已经放在原来的两篇文章里了,这里就不重复了,有兴趣的可以看看。解决问题的思路就是汉字和中文标点按字数统计,英文按单词统计,代码里的英文和中文注释都不统计。只要把这些信息和原来的代码告诉AI,很快就能得到正确的新代码,而且还能顺带纠正原来代码里面的一些语法错误,另外,AI还贴心的加上了许多的中文注释,方便老郭对代码进行理解。
网络
# 代码
# 字数
# AI
# 统计
admin
1年前
0
1
0
2024-11-17
给博客加上重要日子倒计时
前两天,老郭在网上闲逛,发现“小世界博客”的一篇《给你的博客加个春节倒计时》教程蛮有意思的,于是就想着给老郭博客也弄起来。教程里面已经有现成的代码了,但是当老郭直接拿过来用的时候,却发现背景图片无法完整的显示出来,估计是和老郭使用的子比主题有些冲突。 没办法,只能求助于AI了,但是百度的文心一言竟然说这段代码含有攻击性,拒绝做出答复。好吧,只能问外国的AI了。 经过多次的修改,AI总算给出了较为满意的代码,完美的适配子比主题。老郭用WPCode插件把代码放在了侧边栏里,效果如下。 代码包含了春节倒计时和高考倒计时,有需求的可以自行修改或删减。另外背景图片建议下载到本地使用,毕竟老郭博客也不知道能存在多久。 // 设置时区 date_default_timezone_set("Asia/Shanghai"); // 设置春节的日期 $endTimeSpring = new DateTime('2025-01-29 00:00:00'); $nowTime = new DateTime(); // 计算剩余时间 $intervalSpring = $nowTime->diff($endTimeSpring); // 获取差异(天、小时、分钟、秒) $dSpring = $intervalSpring->days; // 春节总天数 $hSpring = $intervalSpring->h; // 小时 $mSpring = $intervalSpring->i; // 分钟 $sSpring = $intervalSpring->s; // 秒 // 设置高考的日期 $endTimeExam = new DateTime('2025-06-07 09:00:00'); $intervalExam = $nowTime->diff($endTimeExam); // 获取差异(天、小时、分钟、秒) $dExam = $intervalExam->days; // 高考总天数 $hExam = $intervalExam->h; // 小时 $mExam = $intervalExam->i; // 分钟 $sExam = $intervalExam->s; // 秒 ?> <div style="background:#fff; padding: 0 0.5rem; position: relative; text-align: center;"> <img src="https://gwi.cc/usr/uploads/2024/11/bg1.webp" alt="春节背景" style="width: 100%; height: auto; border-radius: 10px;"> <div style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); color: #fcf8b1; text-shadow: 2px 2px 10px #b2b2b2; display: flex; flex-direction: column; align-items: center; padding: 0 1rem;"> <h1 style="font-size: 2rem; margin: 0; max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.2;"> 2025年春节倒计时 </h1> <div id="setTimeSpring" style="font-size: 1.6rem; max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"> <?php echo "{$dSpring} 天 {$hSpring} 时 {$mSpring} 分 {$sSpring} 秒"; ?> </div> </div> </div> <div style="background:#fff; padding: 0 0.5rem; position: relative; text-align: center; margin-top: 2rem;"> <img src="https://gwi.cc/usr/uploads/2024/11/bg2.webp" alt="高考背景" style="width: 100%; height: auto; border-radius: 10px;"> <div style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); color: #fcf8b1; text-shadow: 2px 2px 10px #b2b2b2; display: flex; flex-direction: column; align-items: center; padding: 0 1rem;"> <h1 style="font-size: 2rem; margin: 0; max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.2;"> 2025年高考倒计时 </h1> <div id="setTimeExam" style="font-size: 1.6rem; max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"> <?php echo "{$dExam} 天 {$hExam} 时 {$mExam} 分 {$sExam} 秒"; ?> </div> </div> </div> <script type="text/javascript"> // 春节倒计时更新 function updateCountdownSpring() { var countdownElement = document.getElementById("setTimeSpring"); var endTimeSpring = new Date('2025/01/29 00:00:00').getTime(); var nowTime = new Date().getTime(); var t = endTimeSpring - nowTime; // 计算剩余时间 var d = Math.floor(t / (1000 * 60 * 60 * 24)); var h = Math.floor((t % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); var m = Math.floor((t % (1000 * 60 * 60)) / (1000 * 60)); var s = Math.floor((t % (1000 * 60)) / 1000); // 更新显示 countdownElement.innerHTML = d + ' 天 ' + h + ' 时 ' + m + ' 分 ' + s + ' 秒 '; // 如果时间到,停止更新 if (t < 0) { clearInterval(intervalSpring); countdownElement.innerHTML = "春节快乐!"; } } // 高考倒计时更新 function updateCountdownExam() { var countdownElement = document.getElementById("setTimeExam"); var endTimeExam = new Date('2025/06/07 09:00:00').getTime(); var nowTime = new Date().getTime(); var t = endTimeExam - nowTime; // 计算剩余时间 var d = Math.floor(t / (1000 * 60 * 60 * 24)); var h = Math.floor((t % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); var m = Math.floor((t % (1000 * 60 * 60)) / (1000 * 60)); var s = Math.floor((t % (1000 * 60)) / 1000); // 更新显示 countdownElement.innerHTML = d + ' 天 ' + h + ' 时 ' + m + ' 分 ' + s + ' 秒 '; // 如果时间到,停止更新 if (t < 0) { clearInterval(intervalExam); countdownElement.innerHTML = "高考加油!"; } } // 每秒更新倒计时 var intervalSpring = setInterval(updateCountdownSpring, 1000); var intervalExam = setInterval(updateCountdownExam, 1000); </script>
网络
# 代码
# 倒计时
admin
1年前
0
0
0
2024-09-08
给博客增加访客统计
虽然说老郭博客几乎没什么人访问,但为了满足老郭的虚荣心以及本着人有我也得有的原则,老郭也想要给博客弄一个访问统计。Wordpress有不少的统计插件,但是由于老郭使用了第三方的主题,所以兼容性总是不太好。后来,老郭又使用了51la的第三方统计,功能是挺齐全的,但在一些主机论坛上,有不少人爆料称使用了51la统计的网站会跳转到乱七八糟的网站上,吓得老郭又把51la的统计给删了。 前段时间,老郭在无意之中发现了一个国外的第三方访客统计网站,无需实名,也没有复杂的操作过程,只需要在<head></head>之间插入一行代码就行了。而且这个第三方统计功能也是相当强大的,一点不输51la这些。 不过,对于老郭来说,在<head></head>之间插入代码也是相当具有挑战性的,好在老郭之前已经在wordpress里安装了WPCode这个插件了,这个插件可以在header和footer里插入代码,非常的方便。
网络
# 博客
# 代码
# 统计
admin
1年前
0
1
0
2024-05-29
文心一言修改代码也挺好的
老郭想在博客上显示建站时间,但由于没什么技术,所以只能上网搜了一段代码。代码虽然简单,也基本上也能实现老郭的需求。代码如下,其中的1674921600这个值是老郭自己修改的建站时间戳。 // 获取当前时间 $current_time = current_time('timestamp'); // 获取网站安装时间 $install_time = 1674921600; // 计算运行时间 $running_time = $current_time - $install_time; // 将秒数转换为时间格式 $seconds_in_a_day = 86400; $days = floor($running_time / $seconds_in_a_day); $hours = floor(($running_time % $seconds_in_a_day) / 3600); $minutes = floor(($running_time % 3600) / 60); $seconds = $running_time % 60; // 输出运行时间 echo "网站运行:"; if ($days > 0) { echo $days . "天"; } if ($hours > 0) { echo $hours . "小时"; } if ($minutes > 0) { echo $minutes . "分钟"; } echo $seconds . "秒"; 功能虽然实现了,但这段代码有个问题,就是最多只能显示“日”,不能显示“年”,无论多少日,都是往上累加。对于老郭这种强迫症而言,看着就不舒服。不过老郭自己也没有能力去修改,所以只能求助于AI了。 打开文心一言,然后输入老郭的需求,很快修改好的代码就出来了。 这段代码虽然可以显示“年”了,但是却不够精确,因为它把闰年多出来的那一天平均到了每一年,所以每年就是365.25天。这样计算出来的结果就会有一些误差,老郭当然不能接受,于是接着问文心一言有没有更加精确计算闰年的方法。 文心一言又迅速给出了方法,这次的代码更加的复杂了,老郭试了一下,代码果然可以精确的显示“年”、“日”、“小时”、“分”、“秒”了。 但是吧,显示的太详细了,老郭又觉得过于臃肿,就想把“分”和“秒”给去掉。以老郭自己的想法,应该是把代码里最后两段给删了就行了,为了保险起见,还是让文心一言写吧。果不其然,代码的改动比老郭想象中的要大。 通过此次的实践,老郭觉得文心一言修改代码也是挺不错的,最起码对于老郭这样的普通人是足够了,毕竟很多代码即使网上能找到,也不一定适合自己,通过文心一言的修改,立马就能用。不过相对的,对于程序员而言,AI则是砸饭碗的发明,有时老郭不得不感慨,科技过于发达也不见得是一件好事。
网络
# 代码
# 文心一言
# AI
admin
1年前
0
2
0
2023-12-08
为使用子比主题的博客文章添加字数统计
本文于2024年11月26日修改,修改部分以红色表示。 现在有不少网站为文章添加了字数统计和阅读时间预估,老郭觉得这个功能非常的不错。一来很人性化,为访客提供了便利;二来也让网站显得很正规、很上档次。因此老郭也想为博客添加上这个功能。 虽然网上对于这方面的内容非常的多,但绝大部分都是适用于wordpress自带的主题的,而对于在子比主题中添加这个功能的资料却异常的稀少,所以老郭只能自己去分析子比主题的代码了。 按照网上的资料,要在wordpress中添字数统计和阅读时间,需要修改主题的function.php和single.php文件,各添加一段代码。 那就一步步来好了,首先打开子比主题的function.php文件,子比主题在这个文件里添加了一大段的注释,意思是主题更新的时候,function.php有可能被覆盖,所以不建议直接修改function.php文件,而是新建一个func.php,这样function.php就可以自动引入func.php中的代码,实现同样的功能。 那就在和function.php相同的目录下新建一个func.php文件,然后写入以下代码。 <?php function count_words_read_time () { global $post; $text_num = mb_strlen(preg_replace('/\s/','',html_entity_decode(strip_tags($post->post_content))),'UTF-8'); $read_time = ceil($text_num/260); $output .= '本文共有' . $text_num . '个字,阅读需要' . $read_time . '分钟。'; return $output; } 其中的260就是每分钟阅读的字数,一般人的阅读速度在300字左右。 以上代码在统计字数的时候,如果遇到文章中有代码,会把代码也统计进去,导致文章字数统计不准确。为避免此问题,修改后的PHP代码如下: function count_words_read_time() { global $post; // 获取文章内容 $content = isset($post->post_content) ? $post->post_content : ''; // 去除短代码 $content = preg_replace('/(\[.*?\])/', '', $content); // 去除代码块(匹配 <code> 和 <pre> 标签,以及 Markdown 形式的 `````) $content = preg_replace('/<pre.*?>.*?<\/pre>|<code.*?>.*?<\/code>|```.*?```/is', '', $content); // 去除 HTML 标签 $content = strip_tags($content); // 统计汉字字符数 $chinese_count = mb_strlen(preg_replace('/[^\x{4e00}-\x{9fa5}]/u', '', $content), 'UTF-8'); // 统计英文单词及标点符号 preg_match_all('/[a-zA-Z0-9]+|[[:punct:]]/u', $content, $matches); $english_and_punct_count = count($matches[0]); // 计算总字数 $total_count = $chinese_count + $english_and_punct_count; // 计算阅读时间(假设每分钟阅读 260 字) $read_time = ceil($total_count / 260); // 输出结果 $output = ''; $output .= '本文共有' . $total_count . '个字,阅读需要' . $read_time . '分钟。'; return $output; } 下一步就是修改single.php文件,但是当老郭打开子比的single.php文件的时候,却找不到添加代码的地方,因为子比主题的single.php文件里全都是引用的其他文件。比如文章的“主内容”引用的就是zib_single。 没办法,接着找吧。在子比主题文件夹的/inc/function目录下终于找到了zib-single.php这个文件,打开后在大概300行左右的位置添加一行代码。 <span style="font-size: 18px; color: #00f; font-family: KaiTi"><?php echo count_words_read_time(); ?></span></p> 具体的位置及上下文如图所示。 这段代码与网上的源代码相比,老郭进行了一定的修改,如果使用原来的,就呈现的效果就显得与子比主题不那么的协调,看起来也不太醒目。<span style="font-size: 18px; color: #00f; font-family: KaiTi">分别是字体的大小,颜色和字体,老郭选择了18号蓝色楷体,看起来的效果就舒服多了。
网络
# 子比主题
# 字数统计
# 代码
admin
2年前
0
0
0