从我的插件将脚本添加到前面

时间:2012-06-13 作者:JeanDavidDaviet

我有一个WordPress插件,我必须将脚本从插件加载到网站的前端。

class My_Plugin {

function __construct() 
{
    add_action(\'admin_menu\', array(&$this, \'add_submenu\'));

    add_action(\'admin_init\', array(&$this, \'admin_init\'))

}

function load_my_scripts(){
    wp_enqueue_script(\'script\', \'js/myscript.js\');
}
我想加载我的脚本,所以使用右钩子将能够将脚本添加到网站的所有页面。

我已经试过了

add_action(\'wp_head\', array(&$this, \'load_my_scripts\'));
add_action(\'init\', array(&$this, \'load_my_scripts\'));
等等。。。但我没有找到任何解决办法。。。你能帮帮我吗?

2 个回复
最合适的回答,由SO网友:Eugene Manuilov 整理而成

使用wp_enqueue_scriptsadmin_enqueue_scripts 将脚本排队的操作:

// for front end
add_action(\'wp_enqueue_scripts\', array(&$this, \'load_my_scripts\'));
// for back end
add_action(\'admin_enqueue_scripts\', array(&$this, \'load_my_scripts\'));
还要注意,在站点的所有页面上加载脚本是不好的做法。仅在需要时加载脚本:

// ...
function load_my_scripts() {
    if ( $some_condition ) {
        wp_enqueue_script(\'script\', \'js/myscript.js\');
    }
}
// ...

SO网友:Foxinni

这个most 显而易见的问题是确保你有wp_head() 首先在主题标题中添加标记。

否则直接从法典中:

 <?php
 function my_scripts_method() {
      wp_enqueue_script(
          \'custom-script\',
          get_template_directory_uri() . \'/js/custom_script.js\',
          array(\'jquery\')
      );
 }
 add_action(\'wp_enqueue_scripts\', \'my_scripts_method\');
 ?>
资料来源:http://codex.wordpress.org/Function_Reference/wp_enqueue_script#Load_a_script_from_your_theme_which_depends_upon_a_WordPress_Script

还要仔细检查您的路径:http://codex.wordpress.org/Determining_Plugin_and_Content_Directories

结束

相关推荐

Plugins_url()错误地返回带有www子域的URL

我正在开发一个插件,为了回答这个问题,我们称之为“我的插件”。我的插件目录如下所示:my-plugin/ |- image.jpg |- script.js |- script.php |- plugin.php |- ajax.php 在脚本中。php我有一段代码指定了一些JS。在其中,我需要一个ajax的URL。php。e、 g.:<script type=\"text/javascript\"> foo = jQuer