首页
Search
1
入手慈云香港BGP云服务器
7 阅读
2
朋友圈又被财神占领
6 阅读
3
淘宝的客服真业余
5 阅读
4
意外险变相涨价
4 阅读
5
老郭玩域名之第一次出售域名
4 阅读
网络
数码
家居
购物
金融
汽车
旅游
健康
游戏
通信
美食
娱乐
教育
登录
找到
3
篇与
子比主题
相关的结果
2024-06-07
限制子比主题侧边栏归档的行数
老郭喜欢在wordpress的侧边栏里添加一个“归档”栏目,这样可以使博客看上去更加的正规一点。不过子比主题和其他的wordpress主题一样,归档存在一个问题,就是随着时间的增加,归档栏目的行数也会不断的增加,久而久之,归档就会变得越来越长,影响博客的整体美观。 对于老郭这样有强迫症的人来说肯定是不能容忍的,于是就想着能不能有什么办法让归档只显示一定的行数,剩下的用”更多“来表示,并通过”更多“链接到另一个网页来显示所有的归档。 也许是对这个需求的人不多,网上关于解决这个问题的方法介绍并不多,没办法,老郭只能求助于AI了。但这又有一个问题,AI只能解答如何在wordpress中限制侧边栏归档行数的问题,而老郭使用的是子比主题,AI没有专门针对子比主题的解决方案,于是老郭只能在AI回答的基础上自己再琢磨。最后,老郭决定舍弃wordpress自带的归档功能,通过短代码的形式,在侧边栏里自建一个新的”归档“栏目。 第一步是在主题文件目录下的function.php文件里先自定义这个短代码,不过由于子比主题的function.php文件是通过引用func.php中的代码来实现功能的,目的是为了防止主题更新造成function.php文件被覆盖。 那么就好办了,在新建的func.php文件中添加以下代码来自定义“custom_archives”这个短代码。其中,$limit = 24是需要显示的行数,老郭这里设置的是显示24个月的。 function custom_archives_list() { global $wpdb; // 获取最近 24 个月的归档 $limit = 24; $query = "SELECT DISTINCT YEAR(post_date) AS year, MONTH(post_date) AS month, COUNT(ID) as posts FROM $wpdb->posts WHERE post_type = 'post' AND post_status = 'publish' GROUP BY year, month ORDER BY post_date DESC LIMIT $limit"; $archives = $wpdb->get_results($query); $output = '<ul>'; // 生成归档列表,年份在前,月份在后 foreach ($archives as $archive) { $url = get_month_link($archive->year, $archive->month); $month_padded = str_pad($archive->month, 2, '0', STR_PAD_LEFT); $text = sprintf('%d年 %s月', $archive->year, $month_padded); $output .= sprintf('<li><a href="%s">%s</a> (%d)</li>', esc_url($url), esc_html($text), $archive->posts); } // 添加 "更多" 链接 $output .= '<li><a href="' . esc_url(home_url('/archives')) . '">更多……</a></li>'; $output .= '</ul>'; return $output; } add_shortcode('custom_archives', 'custom_archives_list'); 第二步就是在侧边栏的合适位置添加一个文本,并在文本里添加这个自定义的短代码。 第三步,为了让“更多”可以链接到正确的地方,还需要新建一个名为“archives”的页面。这个用子比主题就比较方便了,因为子比主题自带了“归档”模板。让新建的“archives”的页面保持空白,然后在右侧的模板里选择“Zibll—文章归档”即可。
网络
# wordpress
# 子比主题
# 归档
老郭
1年前
0
0
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号蓝色楷体,看起来的效果就舒服多了。
网络
# 子比主题
# 字数统计
# 代码
老郭
2年前
0
0
0
2023-10-27
景安虚拟主机不支持子比主题
老郭在西部数码的虚拟主机空间越来越不够用了,再加上新买的景安的虚拟主机前期工作也已经都完成了,所以就开始着手实施网站搬家了。 由于老郭之前也把其他的网站搬过家,也算是有些经验的,虽然没搬过wordpress,但想着大同小异,所以就按照以前的步骤来了。分别把网站的文件和数据库上传到景安的虚拟主机上,然后修改wp-config.php文件中的数据库信息,确保数据库可以正确连接。然后为了防止网站出现重定向过多的问题,又删除了.htaccess文件。一切准备就绪之后,修改DNS,指向景安的虚拟主机。 过了一个小时,老郭估摸着DNS已经生效了,于是重新登陆wordpress后台,意想不到的事情发生了,wordpress发生了致命性错误。 老郭一脸懵逼,然后仔细看了下,似乎是子比主题造成的,好像是缺少什么PHP函数。接着,wordpress程序也给老郭发来了邮件。 邮件也证实了老郭的猜想,确实是由于子比主题造成的。不过这远远超出了老郭的能力范围,所以只能去找找其他办法了。通过搜索,网上推荐的是安装All-in-One WP Migration插件来搬家,老郭安装步骤一步步的来操作,一直到在景安的虚拟主机上安装全新wordpress都没有问题,然后最后一步用插件导入数据之后,问题又重新出现了,还是致命错误。 老郭又尝试了其他的办法,包括更换PHP版本,启用独立的php.ini文件,问题始终无法解决。至此,正式宣告老郭的博客搬家失败,景安的虚拟主机对于子比主题的支持性上面的确存在着很重大的问题。幸亏老郭是通过代理买的景安的虚拟主机,损失只有二十几块,不过,老郭又得重新去寻找搬家的地方了,博客搬家的计划又要向后延迟了。
网络
# 虚拟主机
# 景安
# 子比主题
老郭
2年前
0
0
0