Photo : odysseygate
つい先日、WordPressを3.4.1にアップデートをしたところ、以前も一度はまった「トップへ戻る」ボタンが、またフェードインしなくなっているではありませんか!(出っぱなしの状態)
特に、コード等変更していませんでしたので???
フェードインをしないということは、jQueryが読み込まれていないか、jQueryが実行されていない可能性が高いと思いましたので、原因を検証してみました。
検証
1.header.phpとfooter.phpの確認
まずは、念の為にheader.phpとfooter.phpのコードの確認を…
header.phpにWordPressに入っているjQueryを読み込ませずに、外部のjQueryを読み込ませるコードを書いていましたので、下記のコードを確認。
<?php
wp_deregister_script('jquery');
wp_enqueue_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js', array(), '1.7.2');
?>
<?php wp_head(); ?>
特に間違えは無さそうなので、続いてfooter.phpの下記コードを確認。
<!-- ページトップへ戻る -->
<div id="page-top"><a href="#">PAGE TOP ↑</a></div>
<script type="text/javascript">
$(function() {
var pageTop = $('#page-top');
pageTop.hide();
//スクロールが400に達したら表示
$(window).scroll(function () {
if($(this).scrollTop() > 400) {
pageTop.fadeIn();
} else {
pageTop.fadeOut();
}
});
//スクロールしてトップ
pageTop.click(function () {
$('body,html').animate({
scrollTop: 0
}, 800);
return false;
});
});
</script>
<!-- ページトップへ戻る 終わり -->
特に問題は無さそうです。
今まではこのコードで動いていたのでなんでだろう?
この状態で、Chromeでソースを表示させてみると
jQueryは読み込んでいます。
2.ローカル環境で確認してみる
可能性を潰していくためにも、MAMPのローカル環境で確認してみることに。
ちなみに、ローカル環境のWordPressも同じように3.4.1にアップデート!
サイトを表示してみると、あっさり今まで通りにフェードインするので、コードは間違っていなそうです。
…となると、サーバー???
でも、アップデートした後だからWordPress???
とりあえず、更に可能性を潰していくためにも、ローカル環境で正常に動いたテーマを念のため上書きをせずに名前を変えてサーバーにアップロードし、アップしたテーマに変えて確認…
フェードインしない…???
何がなんだかわからなくなってきたので、初心にかえることにしてみました。
3.$をjQueryに変更
元々は、以前はまった際にWordPressに入っているjQueryを読み込ませずに、外部のjQueryを読み込ませる設定にしましたので、WordPressに入っているjQueryを読み込ませて使用する方法($をjQueryに変更)に戻してみます。
<!-- ページトップへ戻る --> <div id="page-top"><a href="#">PAGE TOP ↑</a></div> <script type="text/javascript"> jQuery(function() { var pageTop = jQuery('#page-top'); pageTop.hide(); //スクロールが400に達したら表示 jQuery(window).scroll(function () { if(jQuery(this).scrollTop() > 400) { pageTop.fadeIn(); } else { pageTop.fadeOut(); } }); //スクロールしてトップ pageTop.click(function () { jQuery('body,html').animate({ scrollTop: 0 }, 800); return false; }); }); </script> <!-- ページトップへ戻る 終わり -->
と変更して、サイトを表示してみると…
フェードインするように戻りました。
まとめ
検証から、確実な原因は突き止めれていませんが、とりあえず無事に元へ戻りました。
今回学んだことは、
- 必要でないアップデートはしない!
- アップデートの際は、慎重に下調べをしてからする!
- 迷ったら初心にかえるべし!
の3点です。
しかし、何か仕様が変わったのでしょうか?
とりあえず、はまったときの応急処置程度に試して下さい。