2017-11-15 4 views
-1

私はアンダースコアライブラリを使って配列を操作しています。私はアンダースコアライブラリをワードプレスで使用する

add_action('wp_enqueue_scripts', 'jt_enqueue_scripts'); 

    function jt_enqueue_scripts() { 
     wp_enqueue_script('wp-util'); 
    } 

私のfunctions.phpに次のコードを使用してライブラリをエンキューしかし、私は私のコードでそれを使用しようとすると、私は、アンダースコアが定義されていない旨の参照エラーが発生します。

$json = json_decode($response_body); 
$items = _.map($json,'items'); // throws error:'_' is not defined 
echo '<script>console.log('.$items.')</script>'; 

答えて

0

あなたが提供したコードは古いチュートリアルのものであり、WPではいくつか変更されています。

アンダースコアがインポートされる方法は、load-scripts.phpです。これは、ロードするGETパラメータを持っています。そうではありませんWP-utilのそれを提出されて、別のファイルに\wp-includes\js\underscore.min.js

ここではそれを含める方法であるアンダースコア:

wp_enqueue_script('undescore', includes_url('js') . '/underscore.min.js');

ドキュメントincludes_urlのために編集(

devoloper.wordpress.orgに別のオプション)

上記のとおり、WPはload-scripts.phpファイルを使用してスクリプトをロードしますこれを使用することができます: http://localhost/wp-admin/load-scripts.php?load=underscore

圧縮のためにc=パラメータを追加できます。

私はこの方法をお勧めしません。前述ののエンキュースクリプトを使用してください。

+0

あなたの言葉を使ってみました。それでも私には同じエラー - 定義されていない定数_の使用と定義されていない関数map()の使用があります。また、コンソールで '_.VERSION'と入力すると、バージョン番号が1.8.3になりますが、プラグインが動作しているページで同じことを入力すると、未定義の '__'エラーが発生します – nash63

+0

これをテストしました投稿する前にhttps://i.imgur.com/8cwtC15.png 達成しようとしていることと、「プラグインがどこで実行されているか」ということを説明する必要があります。 – Maverick

+0

私は自分のプラグインのための短いコードを作成しました。私はfunctions.phpのスクリプトを最初にエンキューしましたが、うまくいきませんでした。私はプラグインのコードでエンキューしようとしましたが、どちらも動作しませんでしたが、私はショートコード(あなたが投稿したスクリーンショットのようなもの)を含めていないページでバージョン番号を取得します。プラグインのショートコードが掲載されているページで、定義されていない '_'エラーが発生します。 – nash63

関連する問題