私が作っているプラグインを介して頭にコードを追加しようとしています(すなわちトラッキングスクリプトのブロック)。
プラグインは、ユーザーがオプションテーブルに追加される詳細を入力するためのインターフェースを持っています。これまでのところ、これはすべて問題なく動作しています。しかし、それから私はオープンがあり、それから頭に追加するならば条件付きステートメントを書きたいです。基本的に、私はこれをすべてメインプラグインファイルに含めていますが、このように見えます。
if(get_option( 'MyOptionName' )){
function testingone(){ ?>
<script>var Script = GoesHere; </script>
<?php ;}
add_action('wp_head','testingone');
}
データを取得してオプションに追加する実際のブロックの中にこれを配置しようとしましたが、うまくいきませんでした。また頭に何も注入しません。私が見た人の中にはadd_actionを関数の上に置いているところもありますが、コーデックスの中では以下にその例を示しています。どちらにせよ私は試して失敗しました。
これがどこで問題になっているのか、誰にでもわかりますか?
乾杯
add_action()
を関数の外側に引っ張り、条件をコールバックの内側に入れます。また、スクリプトを直接印刷する場合は、wp_print_scripts
の代わりにwp_head
を使用してください。構文エラーもあります。
function testingone(){
if( get_option( 'MyOptionName' ) ) {
?>
<script>var Script = GoesHere; </script>
<?php
}
}
add_action( 'wp_print_scripts','testingone' );
コードを変えてみてください。
function testingone() {
if( FALSE !== get_option( 'MyOptionName' ) ) {
echo( 'ok, this is in the head!' );
}
}
add_action( 'wp_head', 'testingone' );
同様に、テーマのファイル(ほとんどの場合header.php
)を調べて、wp_head()
関数が呼び出されていることを確認し、そのサイトにMyOptionName
オプションが設定されていることを確認します。
追加編集 - Javascriptを<head>
にダンプするのではなく、wp_enqueue_script()
を使用してJavascriptをサイトに追加することもできます。
下記のcodeを参照してください。関数内にIF
ステートメントを追加します。
function testingone(){
if(get_option( 'MyOptionName' )){
?>
<script>var Script = GoesHere; </script>
<?php }
}
add_action('wp_head','testingone');
function plugin_script() {
wp_enqueue_script( 'Jquery-min', WP_PLUGIN_URL. '/Test Plugin/jquery-min.js', false, '1.11.0' );<br/>
wp_enqueue_style('pluginstyle', WP_PLUGIN_URL. '/Test Plugin/pluginstyle.css',false,'1.0',"all");<br/>
}
add_action( 'wp_head', 'plugin_script' );
"wp_head"アクションフックは "head"セクション内で起動されます。
wp_enqueue_script()はスクリプトの実行に使用され、wp_enqueue_styleはPluginのスタイルシートに使用されます。 "WP_PLUGIN_URL"テーマのプラグインフォルダからデータを取得します。 "Test plugin"はあなたのプラグイン名 "pluginstyle.css"プラグインスタイルシートです。 "jquery-min.js"プラグインスクリプト。