質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

4回答

1261閲覧

Wordpress上で速度を落とさずにJqueryを使用したい。

ShinYam

総合スコア23

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2019/06/03 14:33

編集2019/06/04 11:46

Wordpressの外部テーマを導入し、写真のビフォーアフターを表示するTwenty20のプラグインを入れたのですが、作動しません。
原因はよくわかりませんが、サイトの速度を上げる一環でJavascriptの記述を最後尾にしているなどの理由が考えられるようです。
なるべく速度を遅くさせずに、Twenty20を使用できるようにしたいのですが、どういった方法がかんがえられますでしょうか?

(修正しました)
知識がないために混乱させてしまい、申し訳ありません。
構成要素を開いてみると、functions.phpというファイル内にWordpressの自動読み込みを解除という箇所がありました。
これが関係しているのでしょうか?

PHP

1 2<?php 3remove_action( 'wp_head', 'print_emoji_detection_script', 7 ); 4remove_action( 'wp_print_styles', 'print_emoji_styles' ); 5 6// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // 7// WordPressがヘッダーで読み込むrsd_linkとwlwmanifest_linkを削除 8// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // 9function removeHeadLinks() { 10 remove_action('wp_head', 'rsd_link'); 11 remove_action('wp_head', 'wlwmanifest_link'); 12} 13add_action('init', 'removeHeadLinks'); 14 15 16// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // 17// WordPressが自動読み込みするwp-embedスクリプト(Youtube等の動画埋め込み用スクリプト)を削除 18// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // 19function my_deregister_scripts(){ 20 wp_deregister_script( 'wp-embed' ); 21} 22add_action( 'wp_footer', 'my_deregister_scripts' ); 23 24// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // 25// WordPressのjQuery自動読み込みを解除 26// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // 27function replace_jquery() { 28 if (!is_admin()) { 29 // comment out the next two lines to load the local copy of jQuery 30 wp_deregister_script('jquery'); 31 } 32} 33add_action('init', 'replace_jquery'); 34 35 36// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // 37// サムネイル表示の有効化 38// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // 39add_theme_support('post-thumbnails'); 40 41//更新日の追加 42function get_mtime($format) { 43 $mtime = get_the_modified_time('Ymd'); 44 $ptime = get_the_time('Ymd'); 45 46 if ($ptime > $mtime) { 47 return get_the_time($format); 48 } elseif ($ptime === $mtime) { 49 return null; 50 } else { 51 return get_the_modified_time($format); 52 } 53} 54 55// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // 56//スマホのみ条件分岐 57// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // 58function is_mobile(){ 59 $useragents = array( 60 'iPhone', // iPhone 61 'iPod', // iPod touch 62 'Android.*Mobile', // 1.5+ Android *** Only mobile 63 'Windows.*Phone', // *** Windows Phone 64 'dream', // Pre 1.5 Android 65 'CUPCAKE', // 1.5+ Android 66 'blackberry9500', // Storm 67 'blackberry9530', // Storm 68 'blackberry9520', // Storm v2 69 'blackberry9550', // Storm v2 70 'blackberry9800', // Torch 71 'webOS', // Palm Pre Experimental 72 'incognito', // Other iPhone browser 73 'webmate' // Other iPhone browser 74 ); 75 $pattern = '/'.implode('|', $useragents).'/i'; 76 return preg_match($pattern, $_SERVER['HTTP_USER_AGENT']); 77} 78

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

CHERRY

2019/06/04 00:21 編集

JavaScript 関連が、どのようによみこまれているのか コードを記載していただけないでしょうか? 何を header で読み込んでいるのか footer で読み込んでいるのか 等
guest

回答4

0

まず最適化より動かない方の解決よね

ブラウザでリソースを見てjqueryが二ついないかチェック
ソースコードを見てjqueryより前に件のプラグインのjsファイルが読まれてないかチェック

読み込んでいるjqueryのメジャーバージョンがWordPressのデフォルトのものと違わないかチェック

高速化のためにjqueryをWordPressデフォルトのものから置き換えてるなら
機能制限の軽量バージョンのjqueryかもしれないのでそれもチェック

投稿2019/06/04 01:25

KazuhiroHatano

総合スコア7804

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

そもそもjQueryを使わないで、ネイティブで書くとか。
テーマでjQuery使用しているなら、お手上げですが。

これ以上は、CHERRYさんの修正依頼を反映していただかないと答えようがありませんが、
テーマで読み込んでいるjs自体が、headで読み込んでいる可能性がありますので、
そのロジックをbody終了直前に持ってくるとかですかね・・・。
script要素で外部jsを読み込む場合、どんなに読み込み速度が違ったとしても、HTMLに記載の順番に上から処理がされます。
なので、処理の順番を考えて読み込む必要があります。

なお、WordPressは、テーマによっては、php構文(ないしWordPress関数)の中で、jsを読み込みしていたりするので、単純に表に記載されてるscript要素の移動だけでは、解決しない可能性があります。

投稿2019/06/04 00:43

miyabi_takatsuk

総合スコア9528

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

・jQueryを圧縮されたやつ(.min.js)を使う
・2回目以降に有効だがキャッシュを長期間に設定する
・他のところを高速化する

投稿2019/06/03 22:50

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

プラグインが競合している可能性はありませんか?
また、プラグインの入れ過ぎも速度低下の原因になります。
また、他の方がおっしゃっているのと同様に
・jqueryが2つ読み込まれていないか
・jsファイルがjqueryファイルより先に読み込まれてないか
・読み込まれているjqueryやjsのファイルが現在のwordpressのバージョンに合っているか
・機能制限されているjsを使ってないか
などを確認してください。

投稿2020/01/15 02:27

TeamPassionall

総合スコア80

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問