WordPressテーマ ▶︎ AFFINGER6 関連の記事 はこちらから!AFFINGER6

SWELL カスタマイズ【追尾サイドバーの目次をハイライトする方法】目次をちょっと見やすく!

5768_swell-customize-highlight-sidebar-toc-3

こんにちは "osaboo"osabooです。"@osaboo_Bot"

SWELLのカスタマイズ「追尾サイドバーの目次をハイライトする方法」を解説します。

当サイトも含めて…PC表示で SWELLの目次を追従サイドバーに表示設置するケースは多いと思います。

この記事では、ユーザーがどこを読んでいるかを一目でわかるように サイドバーに表示される目次をハイライトする方法をご紹介します。

※ サイドバーに目次を表示させる方法もご紹介します!

この記事でわかること
  1. 目次を追尾サイドバーに表示させる方法
  2. 目次ボタンを表示させる方法
  3. functions.phpに「目次をハイライトする」関数コードを記述する
    1. functions.phpに記述するコードをコピーする
    2. functions.phpにコードを記述(ペースト)する
  4. 追加 CSSに「目次をハイライトするカラーと幅」のコードを記述する
    1. 追加 CSSに記述するコードをコピーする
    2. 追加 CSSにコードを記述(ペースト)する
  5. まとめ!

それではご覧ください。

目次 "Contents"

目次を追尾サイドバーに表示させる方法

目次を追尾サイドバーに表示させる方法をご紹介します。

WordPress管理画面からの作業になります。

Menu『WordPress管理>ダッシュボード>外観>ウィジェット』をクリックします。

WordPress管理|外観|ウィジェット

ウィジェット画面が表示されます。

利用できるウィジェットの中から『【SWELL】目次』を選択→ドロップダウンメニューから『追尾サイドバー』を選択→『ウィジェットを追加』をクリックします。(ドラッグアンドドロップでもOKです)

ウィジェット|目次|追尾サイドバー

以上で、目次が追尾サイドバーに表示されるようになりました。

追尾サイドバーに表示された目次は こんな感じです。

追尾サイドバー|目次イメージ|ハイライトなし

※ 目次ハイライトなしの状態です。

目次ボタンを表示させる方法

目次ボタンを表示させる方法:目次を必要に応じて表示させるボタンを画面右下側に追従させる方法をご紹介します。

カスタマイザーを起動します。

Menu『WordPress管理>ダッシュボード>外観>カスタマイズ』をクリックします。

WordPress管理|カスタマイザー起動

ガスタマイザーの画面が表示されます。

Menu『サイト全体設定>下部固定ボタン・メニュー>』をクリックします。

カスタマイザー|サイト全体設定

カスタマイザー|サイト全体設定|下部固定ボタン・メニュー

「下部固定ボタン・メニュー」タブの詳細が表示されます。

目次ボタンの表示設定を行います。

カスタマイザー|サイト全体設定|下部固定ボタン・メニュー|右下固定ボタン|目次ボタンの表示設定

右下固定ボタン

目次ボタンの表示設定

  • 項目の表示する(円形)

目次ボタン下のテキスト

  • 目次(自由)

カスタマイザー上部の『公開』をクリックして完了です。

目次ボタンで呼び出された目次にもハイライトは適用されます。

functions.phpに「目次をハイライトする」関数コードを記述する

functions.phpに「目次をハイライトする」関数コードを記述する方法をご紹介します。

functions.phpに記述するコードをコピーする

以下のコードをコピーします。

コード領域の右端上のアイコンをクリックするとコピーできます。

function swell_toc_highlight() {
  echo <<< EOM
  <script>
  class toc_highlight {
    init(){
      this.elem = document.querySelectorAll('.widget_swell_index a');
      this.elem2 = document.querySelectorAll('.-modal a');
    }
    update(){
      if(this.elem === null) {
        return 0;
      } else {
        for (let i = 0; i < this.elem.length; i++) {
          const y = document.documentElement.clientHeight;
          const a = document.getElementById( this.elem[i].hash.slice(1) ).getBoundingClientRect().top;
          if( y > a ){
            this.elem[i].classList.add("current");this.elem2[i].classList.add("current");
              if ( i>0 ){
                this.elem[0].classList.remove("current");this.elem2[0].classList.remove("current");
                this.elem[i-1].classList.remove("current");this.elem2[i-1].classList.remove("current");
              }
          } else {
            this.elem[i].classList.remove("current");this.elem2[i].classList.remove("current");
          }
        }
      }
    }
  }
  var toc=new toc_highlight();
  window.addEventListener('DOMContentLoaded', function(e){ toc.init(); });
  window.addEventListener('scroll', function(e){ toc.update(); });  
  </script>
  EOM;
  }
add_action( 'wp_print_footer_scripts', 'swell_toc_highlight' );

functions.phpにコードを記述(ペースト)する

テーマファイルエディターのテーマのための関数(functions.php)にコードを記述(ペースト)します。

Menu『WordPress管理>ダッシュボード>外観>テーマファイルエディター』をクリックします。

WordPress管理|外観|テーマファイルエディター

テーマ編集画面が表示されます。

右側のタブを『テーマのための関数(functions.php)』に切り替え『コピーしたコード』をペーストして最後に『ファイルを更新』をクリックして完了です。

テーマファイルエディター|テーマのための関数(functions.php)

追加 CSSに「目次をハイライトするカラーと幅」のコードを記述する

追加 CSSに「目次をハイライトするカラーと幅」を記述する方法をご紹介します。

追加 CSSに記述するコードをコピーする

以下のコードをコピーします。

コード領域の右端上のアイコンをクリックするとコピーできます。

/* 目次をハイライトするカラーと幅 */
a.p-toc__link.current {
  background-color: #313131;
		color:#fff;
		padding: 0.3em;
		!important;
}

※ 必要に応じて色や幅の変更をしてください。

カラー設定の際にお役立てください。

追加 CSSにコードを記述(ペースト)する

カスタマイザーの追加 CSSにコードを記述します。

カスタマイザーを起動します。

Menu『WordPress管理>ダッシュボード>外観>カスタマイズ』をクリックします。

WordPress管理|カスタマイザー起動

カスタマイザーの画面が表示されます。

『追加 CSS』タブをクリックして『追加 CSS』を開き『コピーしたコード』をペーストしたら、最後にカスタマイザー上部の『公開』をクリックして完了です。

カスタマイザー|追加 CSS

カスタマイザー|追加 CSS|詳細

以上で「追尾サイドバーの目次をハイライトする」設定が完了しました。

閲覧箇所の目次項目がハイライトされているのが確認できるかと…

追尾サイドバーに表示された目次とハイライトは こんな感じです。

追尾サイドバー|目次イメージ|ハイライトあり

目次ボタンで呼び出された目次にもハイライトは適用されます。

目次ボタンで呼び出された目次とハイライトは こんな感じです。

目次ボタンで呼び出された目次とハイライト

コード挿入後にキャッシュをクリアして、記事をスクロールして追尾サイドバーの目次が見出しの上にハイライトされていれば完了です。

まとめSWELL カスタマイズ【追尾サイドバーの目次をハイライトする方法】目次をちょっと見やすく!

SWELLのカスタマイズで 追尾サイドバーの目次をハイライトする方法をご紹介しました。
閲覧時、記事の「どこを読んでいる?」「今どの辺?」「あとどれだけ?」などを解決してくれるカスタマイズです。

是非、お役立てください。

「最後まで、ご観覧いただきありがとうございました。」
また、次の記事で…お会いしましょう。\^^/


  • URLをコピーしました!
  • URLをコピーしました!
目次 "Contents"