2016-08-23 6 views
0

を動作しません。私は自分自身を少しWP-Pluginの私のローカルホスト上でテストし、everythinkがうまく働いている間、私はは、Wordpressの - wp_enqueue_script/wp_enqueue_style

wp_enqueue_script('jquery');   
wp_enqueue_script('myapp1', $pluginpath . 'build/js/app.min.js', array('jquery')); 
wp_enqueue_style("myapp2", $pluginpath . 'build/css/style.css'); 

を行い、コード化されているので、私は自分のサーバーにすべてをアップロードし、私のプラグインも機能しますが、app.min.jsstyle.cssは含まれていません(?)

何が原因なのでしょうか?

+0

アクションを使用していますこれらのエンキュー機能を実行するには? –

+0

私は 'add_shortcode( 'myform'、 'add_form');' .. 'function add_form()'でCSS/JSのエンキューを行います – crunchy

+0

これは遅すぎます。ショートコードが実行されるまでに 'wp_head()'出力(印刷が必要な場所)はすでに実行されています。 –

答えて

0

/wp_enqueue_style()で参照されるファイルは、wp_head()機能で使用されます。

ショートコードが評価されるまでに、この部分はすでに終了しているので、ファイルは参照されません。スタイルは頭の中で属しているため、その周りに方法はありません

function my_scripts() { 
    wp_enqueue_style("myapp2", $pluginpath . 'build/css/style.css'); 
} 
add_action('wp_enqueue_scripts', 'my_scripts'); 

あなたがwp_enqueue_scriptsアクションを使用して、あなたのスタイルを追加する必要があります。しかし、あなたのJSのために

、あなたはフッターにそれをロードするために別のパラメータを使用することができます。それが必要とされるとき、少なくともJSのみがロードされますので、

wp_enqueue_script('myapp1', $pluginpath . 'build/js/app.min.js', array('jquery'), "1.0", true); 

あなたはショートでこれを追加することができます。

(バージョン番号は、あなたが望む何もすることができますブラウザがキャッシュから古いバージョンを使用していないので、あなたがあなたのJSファイルの新しいバージョンをリリースしたときに、それをインクリメントするのに便利です。)

+0

おい!それはそれでした! :) どうもありがとうございます! ..私はこれで2日間これで苦労している:) – crunchy

0

最初に私の頭に浮かぶのは、$ pluginpath変数が正しく設定されていないことです。ファイルがエンキューされたかどうかをブラウザコンソールで確認し、404エラーが発生するかどうかを確認します。エラーが発生した場合は、ファイルパスを確認し、ファイルパスが正しいかどうかを確認することができます(ファイルが存在しないように見えるはずはありません)。

また、WordPressコアではjQueryをエンキューする必要はありません。

+0

WordPressはデフォルトでjqueryをエンキューしません。テーマまたはプラグインがエンキューされていない場合は、ロードされません。 –

+0

さて、私の悪い。私はいつもjqueryをロードしたプラグインを持っていたと思います。 – Aleksi

+0

こんにちは、お返事ありがとうございます。私はそれをすべてチェックし、Plugin-CSS/JSがエンキューされていることはまったくありません。私は '$ pluginpath'を出力しました。これはCSSファイルへの絶対パスを与えます(私はブラウザで呼び出すことができます)。 – crunchy