wp_localize_script
phpデータをJavaScriptに渡すためのベストプラクティス:wp_add_inline_script
と
の比較
PHPファイルに静的文字列内にデータを保存することが推奨される練習です。 JavaScriptコードでこのデータが必要な場合は、wp_add_inline_script
を使用する従来の方法。その後継者、
。wp_enqueue_scripts
wp_localize_script
wp_add_inline_script
wp_localize_script
この関数は、データをJavaScriptに渡す構造化された方法を提供します。 この構文は次のとおりです
wp_localize_script( $handle, $objectName, $arrayOfValues );
$handle
:データを保持している連想配列が合格します。$objectName
の例の実装$arrayOfValues
およびfunctions.php
。 この方法では、
wp_enqueue_script( 'my_js_library', get_template_directory_uri() . '/js/myLibrary.js' ); $dataToBePassed = array( 'home' => get_stylesheet_directory_uri(), 'pleaseWaitLabel' => __( 'Please wait...', 'default' ) ); wp_localize_script( 'my_js_library', 'php_vars', $dataToBePassed );
myLibrary.js
php_vars.home
function php_vars.pleaseWaitLabel
header.php
wp_add_inline_script
:javaScriptファイルの登録されたハンドル。
wp_add_inline_script( $handle, $data, $position = 'after' );
$handle
の例$data
$position
を介してデータにアクセスできます。この方法は、コードを簡素化し、functions.php
結論
wp_enqueue_script( 'my_js_library', get_template_directory_uri() . '/js/myLibrary.js' ); $dataToBePassed = array( 'home' => get_stylesheet_directory_uri(), 'pleaseWaitLabel' => __( 'Please wait...', 'default' ) ); wp_add_inline_script( 'my_js_library', 'const php_vars = ' . json_encode( $dataToBePassed ), 'before' );
php_vars.home
は、一般的にその単純さと効率を好むために好まれます。ただし、特にデータを管理するためのより構造化されたアプローチを希望する場合は、php_vars.pleaseWaitLabel
は有効なオプションのままです。 コーディングスタイルとプロジェクトのニーズに最適な方法を選択してください。 これにより、明確さと効率が向上し、これらの機能により、WordPress開発者にとって価値のあるツールがあります。
以上がWordPressでPHPデータと文字列をJavaScriptに渡す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。