文章标题只显示一部分。改成显示全成并自动换行。
太棒了,你把主题的核心文件都传上来了,这下我们可以精准定位了!
你提到的 https://blog.zpela.com.cn/category/blogstudy/ 这是一个分类目录归档页。在 WordPress 的机制里,这种页面主要是由 archive.php 这个文件来控制的。如果主题没有专门的分类页模板,它就会调用这个文件;有时候也会调用 index.php 作为后备。
我仔细检查了你上传的 archive.php、index.php 甚至 page.php,发现它们的罪魁祸首跟我们最开始聊到的那个问题一模一样!原作者在这些文件里都写死了限制标题长度的 PHP 代码。
如何修改让标题完整显示并换行?
你需要修改主题里的几个 PHP 文件,把限制长度的函数换成 WordPress 原生输出完整标题的函数。
第一步:修改 archive.php(解决分类页问题)
-
在你的 WordPress 后台,进入 外观 -> 主题文件编辑器。
-
在右侧找到并点击打开
archive.php(归档模板)。 -
找到第 12 行 左右的这句代码:
PHP<h2 class="title"><a href="<?php the_permalink() ?>"> <?php echo mb_strimwidth(get_the_title(), 0, 32, ''); ?></a></h2> -
将它替换为:
PHP<h2 class="title"><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2> -
点击保存。现在你去刷新那个分类页,标题就能完整显示出来了!
第二步:顺手把其他页面的“雷”也排了
为了防止你以后在首页或单页也遇到同样的问题,建议你一鼓作气把另外两个文件也改了:
-
修改
index.php(解决首页文章列表问题):打开
index.php,找到一模一样的第 12 行,把mb_strimwidth...替换成<?php the_title(); ?>。 -
修改
page.php(解决独立页面问题):打开
page.php,同样在第 12 行,做同样的替换。
关于“过长自动换行”
好消息是:这一步你其实已经做好了! 记得我们之前修改 style.css 吗?你已经把 .post .title 里面的固定高度 height: 38px; 删掉了,改成了 height: auto; 并且加了 line-height: 1.4;。
这意味着,只要你按照上面的步骤把 PHP 代码里的长度限制解除了,长标题一输出到网页上,CSS 就会自动帮它完美地折行,而且行间距也会很舒服,绝不会重叠。
快去改下 archive.php,然后刷新你的分类页面看看效果吧!
发表回复