web-dev-qa-db-ja.com

`wp_register_script`の動的データが必要

私はwp_register_scriptwp_enqueue_scriptfunctions.phpを使っています。

function add_wp_scripts() {

    wp_register_script(
        'myscript',
        get_template_directory_uri() . '/jsfile.js',
        array(),
        null,
        true
    );

    wp_enqueue_script('myscript');    

}
add_action( 'wp_enqueue_scripts', 'add_wp_scripts' );

これはうまくいきます。 jsfile.jsには、頻繁には変更されない2つの静的ハードコードデータが含まれています。

データベースから動的データを取得し、このデータをjsfile.jsに入れることが可能かどうかを評価する必要がありますか。 - それ以来、私はJavaScriptの経験がなく、jsfile.jsで動的データを取得できるかどうか知りたいですか?もしそうなら、どうすればこれを理解でき、WordPress自体からの制限はありますか?

1
Peter

あなたは wp_localize_script() 関数を探しています。この機能を使用すると、サーバーから自分のJavaScriptにデータを追加できます。

ただし、これによってjsfile.jsの内容が変わることはありません。代わりに、テーマのフッターにグローバル変数を追加します。ブラウザに出力する前にJSファイルの内容を変更することは高度な技術であり、コンパイル/バッファリングが必要です。上記の機能は、ほとんどのユーザーにとって十分なものです。

この関数の使い方についてあなたが必要とするすべてのものは提供されたリンクに含まれています。

1
Jack Johansson