Typecho 主题:在文章中显示图片描述
近期不断在折腾主题,友圈中有许多WordPress主题的博友,都有图片描述的显示功能,比如:雅余,旅行漫记。我也想实现这个,装饰文章显示,下面是效果图,在图片底部都有描述显示。
在bing和baidu搜索中,关于typecho在文章中显示图片描述的描述太少太少,搜索很久终于找到友圈中的立云图志,我们通过邮件交流了该图片描述显示的可能性。
鸣谢立云图志的解决思路(功能整理成了文档,也做了优化,比如可以选择性输出需要显示的图片描述 ),不仅给出了多种解决方法,还附带了代码!
本主题如何实现
有了思路,一步步解决,先找到Html显示我的图片位于figure,可以看到data-caption="番薯",新增的代码就可以获取图片标题并添加到图片下方,获取data-caption,排除.jpg和.png,只显示中文,将figcaption标签添加到figure标签下,就完成整个的逻辑。
post.php搜索figure部分,我这里的主题pigeon采用的是js来显示文章图片,所以我采用了立云图志的在前端使用 JavaScript 脚本的思路,虽然之前的图片描述,比如 IMF_0001.jpg 这些都会输出,既然如此,我就把关于.jpg 都自动隐藏。这样子有了判断条件,就只会输出有中文的描述=标题,就不会把之前的各种.jpg都输出了。
在后台文章编辑器中显示:
![番薯][9] 则显示图片描述
![番薯.jpg][10] 则不显示图片描述
立云图志点评缺点:使用 js 检查是否包含 .jpg,会导致这个过程滞后,表现为容器添加时,会出现布局在高度上的跳动。总的来说,是我目前我认为最简单的一种方法,有待改进。
更新
感谢蔷薇角落博主的帮助,在评论区留言了完整的PHP执行代码,解决了上诉布局跳动的缺点(V2024.05.19) 。