web-dev-qa-db-ja.com

YouTubeのリクエストで中国のWordpressサイトがタイムアウト

私のワードプレスサイトdj.pyromusic.cnは中国のサーバー上の中国に拠点を置いています。テーマまたはサイトのどこかで、明らかにここでブロックされているyoutubeへのリクエストを行っているため、ロード時間がタイムアウトするまでに300秒を超えることになります。

これが検査のスクリーンショットです。

enter image description here

このリクエストをブロックする方法を教えてください。

1
Spencer Tarring

YouTubeは、テーマフォルダにある "jquery.st.youtube.js"という名前のスクリプトによって呼び出されます。あなたは "Wunder"という名前のプレミアムテーマを使っているように見えます。

1)テーマファイルを直接編集し、スクリプトjquery.st.youtube.jsのエンキュー(ほとんどの場合、テーマのfunctions.php内ですが、他の場所にある可能性があります)を検索して、行を削除するか、行を次の行に変更できます。コメント。注意:このテーマのアップデートをインストールする予定がある場合は、これを行わないでください。あなたがあなたのテーマを更新するときはいつでも、あなたが行った変更は消えているので、私はこの方法に対して忠告します。しかし、サポートサイクルが終了したら、テーマを更新することは計画しておらず、手早く汚れた修正を必要としますRITE NAO、それは可能性です。

2)あなたのプレミアムテーマの子テーマ( https://codex.wordpress.org/Child_Themes )を作成します。その後、 "jquery.st.youtube.js"スクリプトをエンキューするために使用されるハンドルを見つけます。あなたの子供テーマのfunctions.phpでは、1000のような高い優先順位でwp_enqueue_scriptsアクションにフックして、それをアクションから取り除くためにwp_dequeue_scriptを使います。

例:スクリプトがエンキューされるプレミアムテーマの機能は、次のようになります。

add_action( 'wp_enqueue_scripts', 'wunder_enqueue_scripts' );

function wunder_enqueue_scripts(){
   wp_enqueue_script('wunder-youtube',"jquery.st.youtube.js",array('jquery'),"",true);
..... (more scripts)
}

あなたの子供テーマのfunctions.phpに、このようにスクリプトをデキューするための関数を挿入することができます:

add_action( 'wp_enqueue_scripts', 'remove_that_darn_youtube_scripts',1000 );

function remove_that_darn_youtube_scripts(){
   wp_dequeue_script('wunder-youtube');

}

これらの関数が何をするのかわからない場合は、ワードプレスコーデックスで wp_enqueue_script および wp_dequeue_script を参照してください。 (または、誰かがあなたのためにコードを書くようにします;))

これはかなり手間がかかりますが、ルート2を選択することをお勧めします。これが、これらのことを行うための「正しい」方法だからです。もちろん、その子テーマを作成したら、変更を有効にするためにそれをアクティブにする必要があります。

大事なことを言い忘れていましたが:これは生きてはいけません!自分でサイトのバックアップを取って、ローカル/サブサイト/その他のウェブスペースで変更を行い、実際のサイトに配置する前にITをテストしてください。

1
kuchenundkakao

わかりました、私はついに参照を見つけました。それはファイルst.setup.phpにありました。行をコメントアウトするために#を追加しました、そしてそれはすべての問題を解決しました!ありがとう、そして私はこれから子バージョンを作成しようとします。

0
Spencer Tarring