mirai-mamori / Sakurairo

一个多彩、轻松上手、体验完善,具有强大自定义功能的WordPress主题(基于Sakura主题,支持简繁英日多语言)A Colorful, Easy-to-use, Perfect Experience, and Powerful Customizable WordPress Theme (Based on Theme Sakura. Support Simplified Chinese, Traditional Chinese, English and Japanese languages)
https://docs.fuukei.org
GNU General Public License v2.0
3.08k stars 353 forks source link

Fix: 优化 head 里面 description 与 keywords 值展示逻辑。 #864

Closed Sualiu closed 6 months ago

Sualiu commented 7 months ago

问题

header.php 里面使用 is_singular() 判断当前页面,并以此来显示 description 与 keywords,但是 is_singular() 只判断当前页面是否为文章、页面、附件、自定义文章,并不包含判断当前页面是否为分类页面,而主题在 is_singular() 里面写了与分类页面 description 与 keywords展示,这是没有用处的。

解决方案

这里使用 is_category() 与 category_description() 对分类页面单独进行了处理。


问题

原有的 description 与 keywords 截取逻辑存在问题,例如在没有任何内容的页面中,description 或 keywords 就无法取得任何值,而直接展示为空,缺乏默认值。

解决方案

改主题设置中手动填写的 keywords 与 description 为默认值,当页面 keywords 或 description 为空时。

没有写为页面时,keywords 包含该页面标题而尽可能更好的符合该页面关键词,因为这更消耗资源。

页面时,且页面文章没有内容时,description 是否设置默认值的问题,WordPress中无法单独为页面设置介绍,直接设置一个统一的默认值有可能影响搜索引擎等展示,是否留空让爬虫自己解决?同理还有分类页面。目前这里设置了一个默认值。


问题

description 值输出时会出现带有换行的情况,keywords 循环拼接时会始终在末尾加一个英文逗号 ,

解决方案

采用新的函数方法