Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建wordpress插件时包含javascript文件_Javascript_Php_Jquery_Wordpress - Fatal编程技术网

创建wordpress插件时包含javascript文件

创建wordpress插件时包含javascript文件,javascript,php,jquery,wordpress,Javascript,Php,Jquery,Wordpress,我正在开发wordpress插件,无法运行javascript文件。我的javascript文件如下所示: <script> jQuery(document).ready(function($) { alert("Javascript is running"); }); </script> 我还尝试在初始化函数中运行这两条语句,但没有成功。您的javascript文件应该包含原始js代码,并且没有标记[因此没有标记,只有它的内容]。

我正在开发wordpress插件,无法运行javascript文件。我的javascript文件如下所示:

<script>

    jQuery(document).ready(function($) {

        alert("Javascript is running");
    });

</script>

我还尝试在初始化函数中运行这两条语句,但没有成功。

您的javascript文件应该包含原始js代码,并且没有标记[因此没有
标记,只有它的内容]。

两件事:

  • 确保路径正确
  • 确保您的WordPress中包含jQuery,如果没有,请添加此行
    wp\u enqueue\u脚本(“jQuery”)
  • 像这样

        function super_plugin_scripts() {
            wp_register_script('super_plugin_script', get_template_directory_uri().'js/super-    plugin.js');
    
            wp_enqueue_script('jQuery');
            wp_enqueue_script('super_plugin_script');
        }
        add_action('wp_enqueue_scripts', 'super_plugin_scripts');
    

    这是一个插件,不是一个主题,所以请尝试以下方法:

    function super_plugin_scripts() {
    
        wp_register_script('super_plugin_script', plugin_dir_url(__FILE__).'js/super-plugin.js');
        wp_enqueue_script('super_plugin_script');
    }
    
    add_action('wp_enqueue_scripts', 'super_plugin_scripts');
    

    plugin\u dir\u url
    要求您传入
    \uuu文件\uuuu
    ,它应该能找到路径。

    设法解决了这个问题。使用plugins_url()函数,然后将插件名称附加到javascript文件路径的前面,如下所示:

    wp_register_script('super_plugin_script', plugins_url().'/super-plugin/js/super-plugin.js');
    

    谢谢

    控制台中是否有任何显示未能加载的内容?只是看了一下,get_template_目录返回主题的目录,而不是插件的目录,这可能就是为什么它没有使用plugin_dir_路径和plugin_url找到它,但也没有返回插件实际所在文件夹的路径。plugin\uURL返回wordpress文件结构中的plugin文件夹见下面的我的答案。刚刚看到您已经修复了它,但这不是非常模块化的,与运行
    plugin\u dir\u url(\uu文件)
    jQuery肯定包含在内相比,您每次都需要更改文件夹名称,如果我在header.php文件中运行脚本,它会执行得很好。路径也是正确的,尝试在“js/”之前添加“/”,但仍然没有成功。我注意到您找到了解决问题的方法,似乎路径毕竟是错误的:)
    wp_register_script('super_plugin_script', plugins_url().'/super-plugin/js/super-plugin.js');