wordpress wp_enqueue_script不在动作中工作但工作正常。

时间:2012-08-30 18:07:55

标签: wordpress-plugin wordpress

 add_action("publish_post", "php_func");

 function php_func(){
     wp_register_script("customscript","link to js file");
     wp_enqueue_script("customerscript")

 }

我认为上述过程是对的,但那不起作用。上面的func中的两行在直接写入php文件时正常工作(没有动作),但是通过操作,上面的代码不起作用。

 function php_func(){
     echo "<script>alert("hiii");</script>"; //working but not good method. Also, getting errors like headers sent already .
 } 

1 个答案:

答案 0 :(得分:0)

每个操作都注册到特定的钩子。在代码中到达该挂钩时,将运行注册到该挂钩的所有操作。

当您发布帖子时,publish_post挂钩将运行您的功能,并将您排入javascript。

你的问题是代码然后遍历所有排队的脚本并运行它们,已经运行了。

你需要在早期的钩子中将它们排队。而针对此的特定钩子构建称为wp_enqueue_scripts

add_action("wp_enqueue_scripts", "php_func");

function php_func(){
    wp_register_script("customscript","link to js file");
    wp_enqueue_script("customerscript")
}

Codex中可以找到更多信息。