目次
1. register_block_typeを使用して、アセットパスを正しく指定します
functions.phpまたはプラグインにスクリプトとスタイルシートを登録します
3。ツール構成の構築に関する注意事項
4。フロントエンドスタイルを読み込むためのヒント
ホームページ CMS チュートリアル &#&プレス Gutenbergブロックの資産を排除する方法

Gutenbergブロックの資産を排除する方法

Jul 09, 2025 am 12:14 AM
assets

Gutenbergブロックを開発するとき、アセットをenqueeする正しい方法には次のものが含まれます。1。register_block_typeを使用して、editor_script、editor_style、およびstyleのパスを指定します。 2。functions.phpまたはプラグインでwp_register_scriptとwp_register_styleを介してリソースを登録し、正しい依存関係とバージョンを設定します。 3.適切なモジュール形式を出力するようにビルドツールを構成し、パスが一貫していることを確認します。 4. add_theme_supportまたはenqueue_block_assetsを介してフロントエンドスタイルの読み込みロジックを制御して、スタイルが有効になり、競合を回避します。

Gutenbergブロックを開発する場合、アセット(JavaScriptやCSSファイルなど)が正しくエンキューすることは、ブロックが適切に機能することを保証するための重要なステップです。これは、バックエンドエディターにファイルをロードするだけでなく、フロントエンドのディスプレイと依存関係の管理の問題を検討することでもあります。


1. register_block_typeを使用して、アセットパスを正しく指定します

WordPressは、ブロックタイプを登録するためにregister_block_type関数を提供し、パラメーターを介して対応するJSおよびCSSファイルパスを指定できます。

 Register_block_type(__dir__、array(
    'editor_script' => 'my-block-editor-script'、
    'editor_style' => 'my-block-editor-styles'、
    'style' => 'my-block-frontend-styles'、
));
  • editor_script :ブロックエディターのスクリプトに使用されます(通常は.jsまたは.jsxファイルをコンパイルします)
  • editor_style :エディターにロードされたスタイルのみが前景に影響しません
  • style :フロントとバックエンドにロードされるスタイル、通常はブロックの基本的な外観に使用されます

functions.phpまたはプラグインにスクリプトとスタイルシートを登録します

これらのリソースを最初にwp_register_scriptおよびwp_register_styleで登録する必要があります。これにより、WordPressがregister_block_typeで言及したハンドルを認識できるようにします。

関数my_block_assets(){
    wp_register_script(
        「My-Block-Editor-Script」、
        get_template_directory_uri()。 '/blocks/my-block/build/index.js'、
        array( 'wp-blocks'、 'wp-element'、 'wp-editor')、
        filemtime(get_template_directory()。 '/blocks/my-block/build/index.js')
    );

    wp_register_style(
        「My-Block-Editor-Styles」、
        get_template_directory_uri()。 '/blocks/my-block/editor.css'、
        配列()、
        filemtime(get_template_directory()。 '/blocks/my-block/editor.css')
    );

    wp_register_style(
        「My-Block-Frontend-Styles」、
        get_template_directory_uri()。 '/blocks/my-block/style.css'、
        配列()、
        filemtime(get_template_directory()。 '/blocks/my-block/style.css')
    );
}
add_action( 'init'、 'my_block_assets');

いくつかの重要なポイントに注意してください:

  • wp-blockswp-elementwp-editorなど、スクリプト依存関係を完全に記述する必要があります
  • filemtime()を使用して、古いバージョンのファイルをキャッシュすることからブラウザを避ける
  • テーマディレクトリ構造を使用している場合は、 get_template_directory使用することをお勧めします。プラグインの場合は、 plugins_url()を使用して__FILE__と協力します

3。ツール構成の構築に関する注意事項

Webpack、Vite、またはその他のビルドツールを使用してブロックコードをパッケージ化する場合は、次のポイントに注意する必要があります。

  • 出力JSファイルはUMDモジュールであるか、WordPress環境に適した形式で正しくパッケージ化する必要があります。
  • ReactやReactdomを個別にパッケージ化しないでください。WordPress( window.Reactwindow.ReactDOMなど)が提供するグローバル変数参照を使用します。
  • 出力パスがPHPに登録されているパスと一致していることを確認してください

一般的な慣行:

  • 編集者スクリプトを/src/blocks/your-block/index.jsに置きます
  • webpackを使用して/build/your-block/index.jsにコンパイルします
  • 同時に、依存関係とバージョン番号を自動的に取得するために.asset.phpファイルを生成します(WordPressデフォルトサポート)

4。フロントエンドスタイルを読み込むためのヒント

デフォルトでは、Gutenbergブロックのstyleパラメーターは、スタイルを前景に自動的にロードします。しかし、時々、スタイルが効果的ではないことがわかります。理由は次のとおりです。

  • テーマはブロックスタイルのサポートを正しく有効にしません( add_theme_support( 'wp-block-styles' )と呼ばれるかどうかを確認)
  • スタイルは他のテーマスタイルでカバーされています。名前空間クラス名を追加することをお勧めします
  • いくつかのブロックは、フロントエンド(いくつかの動的ブロックなど)にレンダリングされません。現時点では、 enqueue_block_assetsフックを使用してオンデマンドで読み込むことを検討できます。
関数my_enqueue_frontend_assets(){
    if(has_block( 'my/block-name')){
        wp_enqueue_style( 'my-block-frontend-styles');
    }
}
add_action( 'wp_enqueue_scripts'、 'my_enqueue_frontend_assets');

この方法はより柔軟ですが、ブロックが実際にページに存在するかどうかを判断する必要もあります。


基本的にそれだけです。 WordPressのブロック登録仕様をフォローし、建設およびパスの問題に注意を払う限り、ブロックに資産を正常にロードできます。

以上がGutenbergブロックの資産を排除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

ホットトピック

WP-CLIを使用してプラグインを更新する方法 WP-CLIを使用してプラグインを更新する方法 Jul 20, 2025 am 01:07 AM

WP-CLIを使用してプラグインを更新するには、SSHを介してサーバーにログインし、Webサイトディレクトリを入力します。 2。wppluginupdateplugin-slugを実行して、単一のプラグインまたはwppluginupdateを更新します。すべてのプラグインを更新します。 3.問題に遭遇したときに、アクセス許可、ディスクスペース、競合するプラグインを確認します。プロセス全体でバックグラウンドにログインする必要はありませんが、バックアップと互換性のリスクに注意を払う必要があります。また、 - ドライランまたは - ドバグパラメーターを通じて問題のトラブルシューティングを支援できます。

WP-CLIでCronジョブを管理する方法 WP-CLIでCronジョブを管理する方法 Jul 21, 2025 am 12:50 AM

tomanagecronjobsinwordpressusingwp-cli、youcanlist、run、schedule、anddeleteeventsviacommand-linetools.1.usewpcroneventlisttochec kactivecroneventsandfilterwith - hook = some_hook_name.2.manyallytriggerataskwithwpcroneventrunsome_hook_name.3.schedulenewtasks

外部API呼び出しを安全に処理する方法 外部API呼び出しを安全に処理する方法 Jul 24, 2025 am 12:07 AM

外部APIを安全に呼び出すには、アクセス制御、データ保護、応答の確認という3つの側面から開始する必要があります。 apikey、oauthtoken、またはjwtを使用して、環境変数またはキー管理サービスのキーを保存し、定期的に回転させます。キーを公開するフロントエンドを避け、OAUTH2.0を選択し、適切な承認モードを採用します。 interfaceインターフェイスによって返されるデータの構造とコンテンツを確認し、コンテンツタイプとフィールドタイプを確認し、ステータスコードを確認し、XSSコンテンツをフィルタリングし、合理的なタイムアウト時間を設定します。 tokenトークンバケットまたはリークバケットアルゴリズムを使用して、現在の制限を実現し、ユーザーAPIの使用を記録し、重複リクエストをキャッシュと組み合わせて削減して、相手のトリガーが電流を制限したりIPをブロックしたりするのを防ぎます。

WordPressでデータを逃がして消毒する方法 WordPressでデータを逃がして消毒する方法 Jul 21, 2025 am 12:17 AM

データエスケープと消毒は、WordPressセキュリティ開発における2つの重要なステップです。 1。データ消毒(Sanitize)は安全なストレージに使用され、Sanitize_Text_field()やSanitize_Email()などの関数を使用してデータをクリーンアップするなど、ユーザー入力を保存する前に処理されます。 2。データエスケープ(エスケープ)は安全なディスプレイに使用され、ESC_HTML()やESC_URL()などの関数を使用してスクリプトの実行を防ぐなど、フロントエンドに出力するときに処理されます。 3. wp_kses_post()などの適切なフックと関数ライブラリを使用して、豊富なテキストコンテンツをフィルタリングするadd_query_arg()を使用して、URLパラメーターを安全に操作します。 4.さまざまなシナリオに注意してください

WordPressにプラグインオプションを保存する方法 WordPressにプラグインオプションを保存する方法 Jul 27, 2025 am 12:29 AM

WordPressプラグイン開発では、プラグインオプションを正しく保存する推奨方法は、get_option()とupdate_option()と組み合わせてregister_setting()を使用することです。まず、register_setting( 'section'、 'option_name')を介して設定項目を登録します。次に、update_option( 'option_name'、$ value)を使用して、フォームを送信するときにデータを保存します。繰り返しますが、get_option( 'option_name'、 'default_value')を使用して、ページを読み込むときに値を取得します。さらに、複数のフィールドをマージすることをお勧めします。

ループからカテゴリを除外する方法 ループからカテゴリを除外する方法 Aug 07, 2025 am 08:45 AM

WordPressで特定のカテゴリを除外するには、query_posts()を使用する、pre_get_postsフックを使用する、またはプラグインを使用する3つの方法があります。まず、query_posts()を使用して、query_posts(array( 'category_not_in' => array(3,5))などのテンプレートファイルのメインループクエリを直接変更します。第二に、pre_get_postsフックを介してfunctions.phpに関数を追加する方が安全です。たとえば、ホームページのメインループを審査するときに指定された分類IDを除外すると、他のページロジックには影響しません。最後に、WPCATEを使用できます

カスタムページテンプレートを作成する方法 カスタムページテンプレートを作成する方法 Jul 21, 2025 am 12:52 AM

カスタムページテンプレートを作成する鍵は、プラットフォームメカニズムを理解し、仕様に従うことです。 1.最初に、プラットフォームの種類とテンプレート構造を明確にします。たとえば、WordPressは特定の注釈を使用してPHPファイルを介してテンプレートを定義し、Hugoはレイアウトディレクトリにテンプレートを配置し、Reactはコンポーネントの方法でレイアウトを導入します。 2. WordPressテンプレートをテーマルートディレクトリに配置するなど、命名および保存ルールに従ってファイルを編成し、HugoはBaseof.htmlをベーステンプレートとして使用し、Jekyllは\ _ Layoutsフォルダーのレイアウトフィールドを参照してパスまたは構成エラーを回避します。 3.テンプレート継承を使用して再利用性を向上させ、基本的なテンプレートを定義し、特定のページのコンテンツをカバーし、重複コードを削減し、維持する

カスタムクエリにWPDBクラスを使用する方法 カスタムクエリにWPDBクラスを使用する方法 Jul 27, 2025 am 12:31 AM

WordPressで安全かつ効率的にカスタムデータベースクエリを実行するには、組み込みのWPDBクラスを使用します。 1.グローバル変数$ wpdbを使用し、$ wpdb-> prefixなどの基本プロパティを理解します。 2。$ wpdb-> prepare()メソッドを使用して、選択したクエリを実行するときにSQLインジェクションを防ぎ、結果の数に従ってget_results、get_row、またはget_varを選択します。 3。データを挿入、更新、削除するときに挿入()、update()、delete()メソッドを使用して、正しい形式を確保する。 4.デバッグ中にlast_errorとlast_queryをチェックして、エラーを処理します。 5。注意してください

See all articles