dongshao6591 2017-12-10 09:13
浏览 99
已采纳

通过插件在管理页面上加载自定义js文件

I'm new to the world of Wordpress and I just started developing my first plugin. When it's activated it should load one javascript file to wp-admin/post-new.php (Add new post) page.

Here is how I tried to do this:

Plugin

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();

wp-admin/post-new.php

if(is_plugin_active( 'blog-customizer/blog-customizer.php' )){
        $plugin = new WP_Blog_Customizer();
}

Shouldn't this add_action( 'wp_enqueue_scripts', array($this, 'load_dependencies') ); from the __construct of my plugin class include this js file?

Note

This js file is located under the js folder in my plugin's folder, so the path is correct.

Can anyone tell me why this is not working, and how to make it work?

  • 写回答

1条回答 默认 最新

  • doutiaosu2310 2017-12-10 12:48
    关注

    For loading scripts in admin side we have to use admin_enqueue_scripts hook. So something like this should do the job:

    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();
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 vue3加ant-design-vue无法渲染出页面
  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计
  • ¥15 路易威登官网 里边的参数逆向
  • ¥15 Arduino无法同时连接多个hx711模块,如何解决?
  • ¥50 需求一个up主付费课程
  • ¥20 模型在y分布之外的数据上预测能力不好如何解决
  • ¥15 processing提取音乐节奏
  • ¥15 gg加速器加速游戏时,提示不是x86架构
  • ¥15 python按要求编写程序