如何使用script-loader.php将我的脚本添加到管理员?

时间:2017-07-19 作者:Johansson

我正在尝试使用WordPress本身在管理区域加载脚本的相同方法在管理面板中加载自定义脚本。

这是加载的示例脚本wp-includes/script-loader.php:

$scripts->add(
    \'password-strength-meter\',
    "/wp-admin/js/password-strength-meter$suffix.js",
    array( \'jquery\', \'zxcvbn-async\' ), 
    false, 
    1
);
所以我尝试用同样的方法添加我自己的脚本。一:

创建了一个名为user-profile-validator.js 在…内/wp-admin/js/ (还创建了缩小版)

  • 尝试使用以下代码将其排队:

    • $scripts->add(
          \'user-profile-validator\',
          "/wp-admin/js/user-profile-validator$suffix.js",
          array( \'jquery\' ), 
          false, 
          1
      );
      
      但什么都没有发生,它既没有添加到URL,也没有在加载的脚本中找到我的脚本。

      为什么会这样?

      PS: 我正在做一个补丁,这就是为什么我要修改核心文件。

    1 个回复
    最合适的回答,由SO网友:birgire 整理而成

    I think you\'e is onlyregistingit with:

    $scripts->add( \'user-profile-validator\', ...)
    
    但不要排队。

    检查例如如何wp_register_script()WP_Scripts::add() 方法

    另外添加:

    wp_enqueue_script( \'user-profile-validator\' );
    
    在相关管理文件中,将其排队,或将其添加为另一个排队脚本的依赖项。

    请注意password-strength-meter 是的依赖项user-profile 脚本:

    $scripts->add( 
        \'user-profile\', 
        "/wp-admin/js/user-profile$suffix.js", 
        array( \'jquery\', \'password-strength-meter\', \'wp-util\' ), 
       false, 
       1 
    );
    
    排队的有:

    wp_enqueue_script( \'user-profile\' );
    
    在后端。

    结束

    相关推荐

    如何301重定向到子目录但保持对主域wp-admin访问

    我想将主域重定向到一个子目录,但要在主域的后端继续工作。我想编辑我的。htaccess文件。因此:实例com公司应重定向到301实例com/子目录但请以我的访问权限为例。com/wp管理并继续在后端工作,而不被重定向如何修复此问题?