SANGO2.0
SANGO2.0がリリースされました
カゲオ

追尾サイドバーが動かない

お世話になっております。

SANGO2.0にアップデートしてから追尾バーが動かなくなりました。

何か原因がわかればご教授いただきたいです。

よろしくお願いします。

コメントへの回答
サルワカくん
2020/01/16

お世話になっております。
ver2.0においてパフォーマンス向上のため、追尾サイドバーの実装方法をJavaScriptからCSSへ移行しました。
拝見したところ、サイドバーのテンプレートファイルを子テーマでカスタマイズしていることが原因だと思います。
対応としては、そちらのカスタマイズをやり直す、もしくは子テーマのfunctions.phpに以下を追記することで旧追尾サイドバーを復活させることができます。

function fixed_sidebar_js() {
 if ( is_active_fixed_sidebar() ) {
      $script = <<< EOM
<script>
jQuery(function() {  
  var fixed = jQuery('#fixed_sidebar');
  var beforeFix = jQuery('#notfix');
  var main = jQuery('#main');
  var beforeFixTop = beforeFix.offset().top;
  var fixTop = fixed.offset().top;
  var mainTop = main.offset().top;
  var w = jQuery(window);
  var adjust = function() {
    var fixHeight = fixed.outerHeight(true);
    var fixWidth = fixed.outerWidth(false);
    var beforeFixHeight = beforeFix.outerHeight(true);
    var mainHeight = main.outerHeight();
    var winHeight = w.height();
    var scrollTop = w.scrollTop();
    var fixIdleBottom =  winHeight + (scrollTop - mainHeight - mainTop);
    if(fixTop + fixHeight >= mainTop + mainHeight) return;
    if(scrollTop + fixHeight > mainTop + mainHeight) {
      fixed.removeClass('sidefixed');
      fixed.addClass('sideidled');
      fixed.css({'bottom':fixIdleBottom});
      return;
    }
    if(scrollTop >= fixTop - 25) {
      fixed.addClass('sidefixed');
      fixed.css({'width':fixWidth,'bottom':'auto'});
      return;
    }
    fixed.removeClass('sidefixed sideidled');
    fixTop = fixed.offset().top;
  };
  w.on('scroll', adjust);
});
</script>
EOM;
  echo sng_minify_js($script);
  }
}

よろしくお願いします。

カゲオ
2020/01/16

サルワカ様
迅速な対応に感謝いたします。
先ほど確認したところ、子テーマに「sidebar.php」のファイルが入ってました。
そちらを削除したところ、正常に動きました。
自分はかなり沼にハマったのと、同様のコメントがいくつか見受けられたので、記事にしようかと思いましたが、サルワカ様からアナウンスした方がSANGOユーザーに広まると思い改善のご報告をいたしました。
今後ともよろしくお願いたします。

サルワカくん
2020/01/16

仰る通りだと思うので、こちらのページおよび更新情報一覧ページに情報を追記することにいたします。
ご助言ありがとうございます。
今後ともよろしくお願いいたします。