我是Wordpress
世界的新手,我刚刚开始开发我的第一个plugin
。
当它被激活时,它应该将一个javascript文件加载到wp-admin/post-new.php
(添加新帖子)页面。
以下是我尝试这样做的方法:
插件
class WP_Blog_Customizer{
function __construct() {
add_action( 'wp_enqueue_scripts', array($this, 'load_dependencies') );
register_activation_hook( __FILE__, array( $this, 'wpa_install' ) );
register_deactivation_hook( __FILE__, array( $this, 'wpa_uninstall' ) );
}
public function load_dependencies(){
wp_enqueue_script('blog-customizer', plugins_url('js/blog-customizer.js', __FILE__),array('jquery'),'1.0.0', true);
}
}
new WP_Blog_Customizer();
可湿性粉剂管理员/后new.php
if(is_plugin_active( 'blog-customizer/blog-customizer.php' )){
$plugin = new WP_Blog_Customizer();
}
我的插件类的add_action( 'wp_enqueue_scripts', array($this, 'load_dependencies') );
中的__construct
不应该包含此js文件吗?
注意
此js文件位于我的插件文件夹中的js文件夹下,因此路径正确。
任何人都可以告诉我为什么这不起作用,以及如何让它发挥作用?
答案 0 :(得分:1)
要在管理端加载脚本,我们必须使用admin_enqueue_scripts挂钩。所以这样的事情应该可以胜任:
class WP_Blog_Customizer{
function __construct() {
add_action( 'admin_enqueue_scripts', array($this, 'load_dependencies') );
//...other constructor things
}
public function load_dependencies( $hook ){
if ( $hook == 'post-new.php' ) { // for loading script also on post edit screen use ( $hook == 'post-new.php' || $hook == 'post.php' )
wp_enqueue_script('blog-customizer', plugins_url('js/blog-customizer.js', __FILE__),array('jquery'),'1.0.0', true);
}
}
}
new WP_Blog_Customizer();