wp-001

很好的问题 👍。
在 WordPress 主题中想要 在移动端添加一个“显示/隐藏目录”的按钮(一般用于显示文章的目录 TOC,例如使用 Table of Contents 插件或主题自带目录),可以通过简单的 HTML + CSS + JS 来实现响应式控制。

我来一步步教你:


🧩 一、实现目标

当页面在移动端访问时:

  • 页面顶部或侧边出现一个「目录」按钮(例如“☰ 目录”)。
  • 点击按钮后,显示或隐藏文章的目录内容。
  • 在桌面端目录仍然固定显示。

🧱 二、HTML 结构示例

假设你的目录是通过插件(如 Easy Table of ContentsLuckyWP TOC 等)生成的,
目录 HTML 一般长这样:

<div id="toc-container" class="toc">
  <h2>目录</h2>
  <ul>
    <li><a href="#section1">一、简介</a></li>
    <li><a href="#section2">二、安装</a></li>
  </ul>
</div>

我们只需在它前面加一个按钮:

<button id="toc-toggle-btn" class="toc-toggle">☰ 目录</button>

建议把这段放在 single.php(或主题的 content-single.php)中目录输出的前面。


🎨 三、CSS 控制样式(移动端隐藏/显示)

/* 默认按钮隐藏(桌面端) */
#toc-toggle-btn {
  display: none;
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 999;
  padding: 10px 14px;
  background-color: #0073aa;
  color: #fff;
  border: none;
  border-radius: 8px;
  font-size: 16px;
  cursor: pointer;
}

/* 移动端样式 */
@media (max-width: 768px) {
  #toc-toggle-btn {
    display: block;
  }

  #toc-container {
    display: none;
    position: fixed;
    top: 60px;
    left: 0;
    right: 0;
    background: #fff;
    z-index: 998;
    border-top: 1px solid #eee;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    padding: 15px;
  }

  #toc-container.active {
    display: block;
  }
}

⚙️ 四、JS 控制显示/隐藏逻辑

可以直接写在主题的 footer.php 里(</body> 前),或者放到主题 JS 文件里:

<script>
document.addEventListener("DOMContentLoaded", function() {
  const tocBtn = document.getElementById('toc-toggle-btn');
  const tocContainer = document.getElementById('toc-container');
  
  if (tocBtn && tocContainer) {
    tocBtn.addEventListener('click', () => {
      tocContainer.classList.toggle('active');
    });
  }
});
</script>

🧠 五、可选优化

  1. 点击目录外部区域关闭目录

    document.addEventListener('click', (e) => {
      if (tocContainer.classList.contains('active') &&
          !tocContainer.contains(e.target) &&
          e.target !== tocBtn) {
        tocContainer.classList.remove('active');
      }
    });
    
  2. 滑动动画 可加上:

    #toc-container {
      transition: all 0.3s ease;
    }
    
  3. 与插件兼容 如果你使用 Easy Table of Contents 插件,可以用以下选择器:

    const tocContainer = document.querySelector('#ez-toc-container');
    

📱 效果

在桌面端:

  • 目录正常显示(无需按钮)

在移动端:

  • 页面右下角出现一个「☰ 目录」按钮
  • 点击按钮 → 弹出目录层
  • 再次点击 → 收起

是否希望我帮你写成一段可直接添加到 WordPress 主题(例如 functions.php 自动插入目录按钮 + JS + CSS)的一体化代码?
我可以帮你整合成 可复制粘贴版,不需要改主题文件结构。

版权声明

本网站名称:个人知识记录
本文链接:https://isrv.cn/wp-001/
本网站的文章部分内容可能来源于网络,仅供学习与参考,如有侵权,请联系站长进行核实删除。
转载本站文章需要遵守:商业转载请联系站长,非商业转载请注明出处并附带原文链接!!!
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇