[WordPress]Kratos主题实现侧边栏仅在文章页面随动
前言
Kratos是一款轻便简约的WordPress免费主题,主题提供了很多自定义配置,本文主要对侧边栏随动功能做出自定义修改。
这个侧边栏随动功能是使用了css的sticky属性进行控制,在右侧widgets过多的情况下使用体验不是那么好,会导致多出的widgets在页面滑动到最底端之前无法显示。
这并非是我们想要的,我最开始打开这个功能的初衷只是想在文章页面固定文章目录,毕竟如果文章有目录的话,读者自然是希望目录能一直显示,而不是点击了之后目录的widgets会跟随页面上移而消失,这样目录就没有存在的意义了。至于主页,页面高度是固定的,侧边栏固不固定没有什么太大的意义。
修改主题配置文件
想要实现让侧边栏只在文章页面随动,我们先要找到主题源代码实现这个功能的地方。
以Kratos 4.2.4为例,相关实现代码在[mark]inc⇒theme-core.php[/mark]
if (kratos_option('g_sticky', false)) { wp_add_inline_style('kratos', '.sticky-sidebar { position: sticky; top: 8px; height: 100%; }'); }
我们只需要在if里面多加一个判断是否为文章页面的条件即可,WordPress给我们提供了这样的函数:
- is_home() : 是否为主页
- is_single() : 是否为内容页(Post)
- is_page() : 是否为内容页(Page)
- is_category() : 是否为Category/Archive页
- is_tag() : 是否为Tag存档页
......
[warning]将if修改为多条件判断需要加一层括号[/warning]
或者你可以复制以下代码进行替换:
if ((kratos_option('g_sticky', false)) && is_single()) { wp_add_inline_style('kratos', '.sticky-sidebar { position: sticky; top: 8px; height: 100%; }'); }
如此,便实现了让侧边栏仅在文章页面随动,目录会一直在右边显示(请先在主题设置中开启侧边栏随动功能)
版权声明:
作者:小鱼
链接:https://afish.org/index.php/2023/10/12/stationary_widgets/
来源:小鱼的blog
文章版权归作者所有,未经允许请勿转载。
THE END
二维码
共有 0 条评论