0

いくつかのパラメーターに基づいて特定のjavascript関数を実行するWordpressプラグインを開発しています。

最初のステップは、サーバーからjavascriptファイルを含めることです。簡単:

add_action('wp_head', 'my_plugin_head');

function my_plugin_head(){
echo '<script type="text/javascript" src="http://www.my-server.net/js/w.js" ></script>';
}

2番目のステップは、WordPress本体の特定のテキストをjavascript関数に変更することです...次のようなものです。

 add_filter('the_content', 'plugin_text_replace');
 function plugin_text_replace($text){
 $text=preg_replace('blah', 'blah');

 return $text;
 //I Am still researching how to setup the preg_replace. 
 //It will look for something like plugin_call[1, 40, 60]
 //And Change it To jsFunction(1, 40, 60);
 //Bonus for anyone who can help me with that :)
 }

いずれにせよ、my-server.net javascriptを必要な場合にのみ(つまり、preg_replaceが一致するものを見つけた場合にのみ)含める必要があることに気付きました。テキストの本文への参照がない<head>アクションを使用せずにタグにスクリプトを追加する方法が見つからないため、これは私にとって問題です。wp_head

特定のpreg_matchが見つかった場合にのみヘッダーを追加するにはどうすればよいですか?

4

1 に答える 1

0

javascriptを追加するには、次のwp_enqueue_script()ようにを使用するのが最善の方法です。

function my_scripts_method() {
    wp_enqueue_script('my_java_function');            
}    

// For use on the Front end (ie. Theme)
add_action('wp_enqueue_scripts', 'my_scripts_method'); 

にコードを挿入するには、次の<body>ようにします。

function wp_body() {
  do_action( 'wp_body' );
}

add_action( 'wp_body', 'my_body_function' ) ; // 

// In "header.php" place something like this after <body>:

if ( function_exists('wp_body')) wp_body(); ?>
于 2012-12-18T07:02:35.190 に答える