使用wp_注册脚本和wp_enQueue_脚本加载脚本

时间:2016-02-14 作者:j8d

如果只需要在管理面板中加载以下脚本和样式表,我如何在wordpress插件中包含它们?

<script type="text/javascript" src="/wp-includes/js/jquery/jquery.js?ver=1.11.3"></script>
<link rel="stylesheet" type="text/css" href="assets/chosen.min.css">
<script type="text/javascript" src="assets/chosen.jquery.min.js"></script>

3 个回复
SO网友:tillinberlin

可能有多种方法可以做到这一点——我个人使用以下方法仅在“新建”和“编辑”页面(日期选择器等)上加载一些小脚本:

function load_my_admin_scripts( $hook ) {

    if (( $hook == \'post.php\' || $hook == \'post-new.php\' )) {

    wp_enqueue_script(
        \'my-datepicker\', // name / handle of the script
        SCRIPTS . \'script.js\', // path to the script
        array( \'jquery\', \'jquery-ui-datepicker\' ), // array of registered handles this script depends on
        \'1.0\', // script version number (optional)
        true // enqueue the script before </head>
    );

    }

}

add_action( \'admin_enqueue_scripts\', \'load_my_admin_scripts\' );

SO网友:denis.stoyanov

function load_admin_script_wpse_217608() {
    $assets_path = plugins_url(\'assets/\', __FILE__);

    wp_enqueue_style(\'chosen-style\', $assets_path . \'chosen.min.css\');
    wp_enqueue_script(\'jquery\');
    wp_enqueue_script(\'chosen-script\', $assets_path . \'chosen.jquery.min.js\', array(), \'1.0.0\', true);
}

add_action( \'admin_enqueue_scripts\', \'load_admin_script_wpse_217608\' );
在哪里$assets_path 是资产文件夹的路径。

Edit: 使用@cale\\u b的道具plugins_url() 避免混淆和硬编码字符串。

SO网友:j8d

我首先添加

function __construct() {
    if( is_admin() ) {
    add_action( \'admin_enqueue_scripts\', array( &$this, \'xsmi_load_admin_script\' ) );
...
因为它在课堂上。

以及函数。。。

function xsmi_load_admin_script() {
wp_register_style( \'chosencss\', plugins_url( \'assets/chosen.css\', __FILE__ ), true, \'\', \'all\' );
wp_register_script( \'chosenjs\', plugins_url( \'assets/chosen.jquery.js\', __FILE__ ), array( \'jquery\' ), \'\', true );
wp_enqueue_style( \'chosencss\' );
wp_enqueue_script( \'chosenjs\' );
}
Thetrue 在…的结尾wp_register_script 将其加载到页脚中。这是我能让它工作的唯一方法。那是为了帮忙!

相关推荐