我试图从我的插件php中加入一个外部纯JavaScript文件,以添加到WP主题的页脚中。这可能吗?
我尝试了以下操作,但由于未发出警报而导致测试失败...
<?php
/**
Plugin Name: Add Footer JS
*/
add_action( 'wp_footer', 'my_footer_scripts' );
function my_footer_scripts(){
?>
<script>alert( 'Hi Roy' ); </script> // just a test
<?php
}
基本上, JS位于:
http://dev.website.com/wp-content/plugins/mykewlplugin/js/script-support.js
此PHP位于:
http://dev.website.com/wp-content/plugins/mykewlplugin/support.php
和核心插件PHP /功能位于:
http://dev.website.com/wp-content/plugins/mykewlplugin/mykewlplugin.php
答案 0 :(得分:1)
请确保您当前处于活动状态的主题正在使用wp_footer()
和wp_head()
函数,因为使用适当的动作挂钩需要使用这些函数。话虽如此,您实际上应该适当地入队资产。从事该项目的其他任何人(包括您未来的自我)都会对此表示赞赏!
这涉及利用wp_enqueue_scripts
钩子和wp_enqueue_script()
函数(依赖于wp_head()
和wp_footer
函数)。。 >
执行此操作的正确方法如下:
add_action( 'wp_enqueue_scripts', 'no_spex_footer_js' );
function no_spex_footer_js(){
wp_enqueue_script( 'no-spex-footer-js', '/path/to/your/file.js', array(), null, true );
}
按顺序注意所有传递的参数:
array('jquery')
,等等。filemtime( plugin_dir_path( __FILE__ ) . 'assets/file-name.js'
。如果您确定您的主题正在使用wp_head()
和wp_footer()
,并且文件无法正常工作-这表示您的插件未正确配置/激活,这时我建议您再次浏览Writing A Plugin文档和File Header Requirements。
对于您的具体情况,这样的操作应该可以帮助您入门:
<?php
/**
* Plugin Name: My Kewl Plugin
* Description: Does Kewl Things
* Version: 0.1
*/
add_action( 'wp_enqueue_scripts', 'my_kewl_plugin_footer_js' );
function my_kewl_plugin_footer_js(){
wp_enqueue_script( 'my-kewl-plugin-footer', plugins_url( '/js/script-support.js', __FILE__ ), array(), filemtime( plugin_dir_path( __FILE__ ) . 'js/script-support.js', true );
}
?>