検索
ホームページCMS チュートリアル&#&プレスWordPressのスクリプトとスタイルを排除します

WordPressのスクリプトとスタイルを排除します

キーテイクアウト

    WordPressのスクリプトとスタイルを排除することは、パフォーマンスを維持し、異なるスクリプトとスタイル間の競合を防ぐために不可欠です。スクリプトを追加する推奨される方法は、admin_enqueue_scriptsフックを使用して、競合を回避し、スクリプトが常にロードされていることを確認するためにハンドラーのプレフィックスを使用することです。
  • wp_deregister_style関数を使用してエラーまたは競合を引き起こしている不必要なスクリプトを削除することができます。これは、問題のトラブルシューティング時にデバッグモードで特に役立ちます。
  • ショートコードを使用するには、多くの場合、スクリプトをページに注入する必要があります。これは、The_Contentフィルターにコールバックを登録し、ショートコードが含まれている場合にテストすることで実現できます。ただし、このソリューションには、高負荷Webサイトでパフォーマンスの問題が発生する可能性があります。より洗練されたソリューションでは、Composerを使用してクラスをロードし、投稿コンテンツ内のショートコードを登録します。
  • WordPressプラグインとテーマをしばらく開発した後、テーマのパフォーマンスと顧客にとってどのような問題が生じるかについてますます考え始めます。これらの問題の1つは、スクリプトとスタイルを排除することです。この記事では、さまざまなユースケースのスクリプトとベストプラクティスの基本について説明します。 WordPressアセットの管理に関する初心者の概要については、この記事を確認できます。
  • スクリプトとスタイルを排除する
Webサイトの特定のページに挿入するためにCSSまたはJavaScriptコードが必要な場合、同じマークアップファイル内に追加するか、ファイルに直接URLを使用して追加する傾向があります。

ただし、これはスクリプトを追加するための推奨される方法ではなく、キャッシュプラグインは最適化して資産をキャッシュしてウェブサイトのパフォーマンスを向上させません。 admin_enqueue_scriptsフックを使用する必要があります

WordPressのスクリプトとスタイルを排除します wp_enqueue_scriptメソッドの最初のパラメーターはスクリプトハンドラー名です。競合を回避し、スクリプトが常にロードされることを確認するために、常にハンドラーにプレフィックスする必要があります。

現在のソリューションは完璧ではなく、スクリプトはすべてのバックエンドページに含まれています。渡された$ hook変数をコールバック関数に使用して、特定のページをテストできます。

さて、スクリプトは設定と新しい投稿ページ内にのみ含まれます。ユーザーが新しいページを作成しているときにのみスタイルを含めるためにさらに進むことができます。

不必要なスクリプトを削除します
// ...
<script type="text/javascript">
    // some JS code
</script>

<style type="text/css">
    // some CSS code
</style>
//...

<script type="text/javascript" src="<?=%20plugins_url('assets/js/main.js')%20?>"></script>

ほとんどの開発者は、必要に応じてスクリプトを排除することを気にしません。これが、予期せぬエラーと奇妙なスタイリングの問題を常に取得する理由です。スクリプトがエラーをスローしたり、競合を引き起こしていることに気づいた場合、独自の追加を追加する前に削除できます。これはデバッグモードでしばしば役立ちます。

// ...
<script type="text/javascript">
    // some JS code
</script>

<style type="text/css">
    // some CSS code
</style>
//...

<script type="text/javascript" src="<?=%20plugins_url('assets/js/main.js')%20?>"></script>
ショートコードの操作

ほとんどのプラグインとテーマは、Webサイトと対話するための一連のショートコードを提供します。時には、スクリプトをページに挿入する必要があります。悲しいことに、以前にバックエンドで行ったように、フロントエンドページをテストすることはできません。 これを達成するための簡単な方法は、The_Contentフィルターにコールバックを登録し、ショートコードが含まれているかどうかをテストすることです。 「はい」を返す場合、スクリプトをenqueし、そうでない場合は何もしません。

上記のコードはうまく機能し、ショートコードを含む投稿のスクリプトのみを締めくくります。ただし、このソリューションには、高負荷Webサイトでいくつかの深刻なパフォーマンスの問題があります。この問題に対してより洗練されたソリューションを作成します
add_action( 'admin_enqueue_scripts', function($hook) {
    $pluginPrefix = "my-prefix";
    wp_enqueue_script( "{$pluginPrefix}main-js", plugins_url('assets/js/main.js'), ['jquery'] );
} );
Composerをまだ使用していない場合は、クラスをロードすることをお勧めします。プラグインComposer.jsonファイルは、次のようになります

SRC/ショートコード/helloshortcode.phpクラスは、ショートコードの定義を保持しています

実行方法は、ショートコードのHTMLマークアップを返し、ショートコードを使用するとロードされた静的属性をtrueに設定します。
add_action( 'admin_enqueue_scripts', function($hook) {
    if ( !in_array($hook, array("options-general.php", "post-new.php")) )
        return;

    $pluginPrefix = "my-prefix";
    wp_enqueue_script( "{$pluginPrefix}main-js", plugins_url('assets/js/main.js'), ['jquery'] );
} );
enqueuescriptsメソッドは、プラグインがロードされたときにスタイルを排除します。残りの部分は、投稿コンテンツ内で認識されるショートコードを登録します。

確かに、このコードをメインプラグインファイルに配置することは避けられますが、物事をシンプルで読みやすくします。
add_action( 'admin_enqueue_scripts', function($hook) {
    if ( $hook == "post-new.php" && isset($_GET['post_type']) && $_GET['post_type'] == "page" )
    {
        $pluginPrefix = "my-prefix";
        wp_enqueue_script( "{$pluginPrefix}main-js", plugins_url('assets/js/main.js'), ['jquery'] );
    }
} );
$ショートコード変数には、利用可能なショートコードのリストが表示されます。最初のループはショートコードを登録し、実行方法をハンドラーにします。次に、wp_footerフックを使用して、ボディタグを閉じる前にショートコードスクリプトをエンキューします。

ショートコードを含む新しいページを作成し、スクリプトが適切にロードされているかどうかを確認できます。

結論

この短い記事は、プラグインとテーマのスクリプトを排除する方法に関する要約であり、Webサイトのすべてのページ内にロードすることを避けるための最良の方法でした。質問やコメントがある場合は、以下に投稿してください。私はそれらに答えるために最善を尽くします!
add_action( 'admin_enqueue_scripts', function($hook) {
    $unautorized_styles = [
        'script1',
        'another-script'
    ];

    foreach ( $unautorized_styles as $handle )
    {
        wp_deregister_style( $handle );
    }

    // enqueue my scripts
} );
WordPressのスクリプトとスタイルを排除することについて、よくある質問(FAQ)

WordPressでスクリプトとスタイルを排除する目的は何ですか?テーマやプラグインが使用している可能性のあるさまざまなスクリプトとスタイル間の競合を防ぐのに役立ちます。 Enqueingで、WordPressに、スクリプト/スタイルをいつロードするか、どこにロードするか、それが依存する他のスクリプト/スタイルを伝えています。

WordPressでスクリプトをenceueするにはどうすればよいですか?

​​

WordPressでスクリプトをenceueするには、wp_enqueue_script()関数を使用する必要があります。この関数には、ハンドル(スクリプトの一意の名前)とSRC(スクリプトのURL)の少なくとも2つのパラメーターが必要です。依存関係、バージョン、およびフッターにスクリプトをロードするかどうかなどの追加のパラメーターを指定することもできます。 WordPressでスクリプトを登録するには、重要な違いがあります。 wp_register_script()は、スクリプトを登録するだけで、それをenceしません。これは、後でwp_enqueue_script()でenquedされない限り、スクリプトが印刷されないことを意味します。一方、wp_enqueue_script()はスクリプトを登録してenquesします。つまり、htmlに印刷されます。 wp_enqueue_style()関数を使用します。この関数はwp_enqueue_script()と同様に機能しますが、スクリプトの代わりにスタイルシートに使用されます。あなたのスクリプトとスタイル。このフックは、WordPressがHTMLでスクリプトとスタイルを印刷しようとしているときに呼び出されます。それに引っ掛けることにより、スクリプトとスタイルが適切なタイミングでエンキューされることを確認します。

スクリプトやスタイルをenqueするときに依存関係を指定することが重要なのはなぜですか?またはスタイルは正しい順序でロードされます。スクリプトが別のスクリプト(jQueryなど)に依存している場合、WordPressはスクリプトの前にjQueryがロードされていることを確認します。 wp_dequeue_script()またはwp_dequeue_style()関数を使用したWordPressのスクリプトまたはスタイル。これは、スクリプトやスタイルがロードされないようにしたい場合に便利です。

管理領域にスクリプトとスタイルを編成できますか? 「admin_enqueue_scripts」アクションフックを使用したエリア。これは「wp_enqueue_scripts」フックと同様に機能しますが、フロントエンドの代わりに管理エリアに使用されます。フックは、スクリプトをenqueueするために使用された古いフックです。ただし、このフックを使用することは、スクリプトの読み込み順序の問題につながる可能性があるため、もう使用することはお勧めしません。代わりに「wp_enqueue_scripts」フックを使用する必要があります。

スクリプトやスタイルを条件付きでenceueできますか?たとえば、IS_Page()関数を使用して、特定のページが表示されている場合にのみスクリプトまたはスタイルをenceueすることができます。これは、不必要なスクリプトやスタイルがロードされないようにするため、パフォーマンスに役立ちます。

以上がWordPressのスクリプトとスタイルを排除しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
WordPressのプラグインエコシステムはCMS機能をどのように強化しますか?WordPressのプラグインエコシステムはCMS機能をどのように強化しますか?May 14, 2025 am 12:20 AM

WordPressPluginsSisificallyScmscmScapabilitivitiationsCustomizationAndFunctionality.1)50,000を超える50,000PluginsallowuserStotailorStotailorsiteforseo、e-commerce.2)PluginsCanextEndCorefeatures、iceadding-customsttypes.3)

WordPressはeコマースに適していますか?WordPressはeコマースに適していますか?May 13, 2025 am 12:05 AM

はい、WordPressはeコマースに非常に適しています。 1)WooCommerceプラグインを使用すると、WordPressはすぐに完全に機能的なオンラインストアになります。 2)パフォーマンスの最適化とセキュリティに注意し、キャッシュとセキュリティプラグインの定期的な更新と使用が重要です。 3)WordPressは、ユーザーエクスペリエンスを改善し、SEOを大幅に最適化するための豊富なカスタマイズオプションを提供します。

YandexのWebマスターツールにWordPressサイトを追加する方法YandexのWebマスターツールにWordPressサイトを追加する方法May 12, 2025 pm 09:06 PM

あなたのウェブサイトをyandexのウェブマスターツールに接続しますか? Google Search Console、Bing、YandexなどのWebマスターツールは、Webサイトの最適化、トラフィックの監視、robots.txtの管理、Webサイトのエラーの確認などを支援します。この記事では、WordPress WebサイトをYandex Webmasterツールに追加して、検索エンジントラフィックを監視する方法を共有します。 yandexとは何ですか? Yandexは、GoogleとBingに似たロシアに拠点を置く人気のある検索エンジンです。 Yandexで優れています

WordPressのHTTP画像アップロードエラーを修正する方法(シンプル)WordPressのHTTP画像アップロードエラーを修正する方法(シンプル)May 12, 2025 pm 09:03 PM

WordPressでHTTP画像アップロードエラーを修正する必要がありますか?このエラーは、WordPressでコンテンツを作成する場合、特にイライラする可能性があります。これは通常、組み込みのWordPressメディアライブラリを使用して画像またはその他のファイルをCMSにアップロードするときに発生します。この記事では、WordPressのHTTP画像アップロードエラーを簡単に修正する方法を示します。 WordPressメディアのアップロード中にHTTPエラーの理由は何ですか? WordPress Mediaアップローダーを使用してファイルをWOにアップロードしようとするとき

メディアボタンを追加することでWordPressで動作しない場合の問題を修正する方法メディアボタンを追加することでWordPressで動作しない場合の問題を修正する方法May 12, 2025 pm 09:00 PM

最近、読者の1人が、WordPressサイトの追加メディアボタンが突然機能しなくなったと報告しました。この古典的なエディターの問題には、エラーや警告が表示されないため、ユーザーが「メディアの追加」ボタンが機能しない理由を知りません。この記事では、WordPressの追加メディアボタンを簡単に修正する方法を示します。 WordPressの「メディアの追加」ボタンが動作を停止する原因は何ですか?古い古典的なWordPressエディターをまだ使用している場合、メディアの追加ボタンを使用すると、画像、ビデオなどをブログ投稿に挿入できます。

WordPress Cookieを設定、取得、削除する方法(専門家のように)WordPress Cookieを設定、取得、削除する方法(専門家のように)May 12, 2025 pm 08:57 PM

WordPress WebサイトでCookieの使用方法を知りたいですか? Cookieは、ユーザーのブラウザに一時情報を保存するための便利なツールです。この情報を使用して、パーソナライズと行動ターゲティングを通じてユーザーエクスペリエンスを強化できます。この究極のガイドでは、プロフェッショナルのようにWordPressCookiesを設定、取得、削除する方法を紹介します。注:これは高度なチュートリアルです。 HTML、CSS、WordPress Webサイト、PHPに習熟する必要があります。クッキーとは何ですか?ユーザーがWebサイトにアクセスすると、Cookieが作成および保存されます。

WordPress 429を修正する方法要求エラーが多すぎますWordPress 429を修正する方法要求エラーが多すぎますMay 12, 2025 pm 08:54 PM

WordPress Webサイトに「429が多すぎるリクエスト」エラーが表示されますか?このエラーメッセージは、ユーザーがWebサイトのサーバーにHTTPリクエストを送信しすぎていることを意味します。このエラーは、エラーの原因を見つけるのが難しいため、非常にイライラする可能性があります。この記事では、「WordPress429ToomanyRequests」エラーを簡単に修正する方法を示します。 WordPress429のリクエストが多すぎるのは何ですか? 「429toomanyRequests」エラーの最も一般的な原因は、ユーザー、ボット、またはスクリプトがウェブサイトにアクセスしようとすることです

WordPressは大規模なWebサイトのCMSとしてどの程度スケーラブルですか?WordPressは大規模なWebサイトのCMSとしてどの程度スケーラブルですか?May 12, 2025 am 12:08 AM

wordpresscanhandlelargewebsiteswithcarefulningandoptimization.1)usecachingtoreduceServerload.2)optimizeyourdatabaseRegularly.3)rivenceCdntodistributecontent.4)vetpluginsandmestoavoidConflicts.5)

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。