0

我正在开发一个 Wordpress 插件来根据一些参数运行某个 javascript 函数。

第一步是从我的服务器中包含 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>';
}

第二步是将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>不使用 on 的操作的情况下将脚本添加到标签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 回答