Gutenbergブロックの資産を排除する方法
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-blocks
、wp-element
、wp-editor
など、スクリプト依存関係を完全に記述する必要があります filemtime()
を使用して、古いバージョンのファイルをキャッシュすることからブラウザを避ける- テーマディレクトリ構造を使用している場合は、
get_template_directory
使用することをお勧めします。プラグインの場合は、plugins_url()
を使用して__FILE__
と協力します
3。ツール構成の構築に関する注意事項
Webpack、Vite、またはその他のビルドツールを使用してブロックコードをパッケージ化する場合は、次のポイントに注意する必要があります。
- 出力JSファイルはUMDモジュールであるか、WordPress環境に適した形式で正しくパッケージ化する必要があります。
- ReactやReactdomを個別にパッケージ化しないでください。WordPress(
window.React
、window.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 サイトの他の関連記事を参照してください。

ホットAIツール

Undress AI Tool
脱衣画像を無料で

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

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

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

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

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

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

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

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

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を使用できます

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

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。注意してください
