Wordpress ACF包含input.js无法正常工作

时间:2015-07-06 17:23:58

标签: javascript php wordpress wordpress-plugin advanced-custom-fields

我正在使用acf v4插件进行wordpress。 我正在尝试包含input.js。这是我添加的代码

function input_admin_enqueue_scripts()
    {
        // Note: This function can be removed if not used


        // register ACF scripts
        wp_register_script( 'acf-input-progressbar', $this->settings['dir'] . 'js/input.js', array('acf-input'), $this->settings['version'] );
        wp_register_style( 'acf-input-progressbar', $this->settings['dir'] . 'css/input.css', array('acf-input'), $this->settings['version'] ); 


        // scripts
        wp_enqueue_script(array(
            'acf-input-progressbar',    
        ));

        // styles
        wp_enqueue_style(array(
            'acf-input-progressbar',    
        ));


    }

但javascript从未被调用过。我添加了console.log函数来测试调用:

(function($){

    console.log("Test input.hs");

....

这是我用于插件的名称: acf-progressbar

文件:

  • acf-progressbar-v4.php
  • ACF-progressbar.php

1 个答案:

答案 0 :(得分:2)

你必须使用以下内容挂钩你的功能:

add_action( 'admin_enqueue_scripts', 'input_admin_enqueue_scripts' );

上面的调用将在WordPress的管理端排队脚本,这是我假设你想要的功能名称。如果你想将它们排列到任何地方,那么请改用它:

add_action( 'wp_enqueue_scripts', 'input_admin_enqueue_scripts' );

add_action的调用需要在全球空间中进行。所以最后你会得到类似的东西:

function input_admin_enqueue_scripts() {
    // Note: This function can be removed if not used
    // register ACF scripts
    wp_register_script( 'acf-input-progressbar', $this->settings['dir'] . 'js/input.js', array('acf-input'), $this->settings['version'] );
    wp_register_style( 'acf-input-progressbar', $this->settings['dir'] . 'css/input.css', array('acf-input'), $this->settings['version'] ); 

    // scripts
    wp_enqueue_script(array(
        'acf-input-progressbar',    
    ));

    // styles
    wp_enqueue_style(array(
        'acf-input-progressbar',    
    ));
}
add_action( 'admin_enqueue_scripts', 'input_admin_enqueue_scripts' );

如果您已经通过调用add_action来连接您的函数,那么问题可能是您的样式和脚本的名称相同:

wp_register_script( 'acf-input-progressbar' ...
wp_register_style( 'acf-input-progressbar', ...

我会将这些切换到以下内容,看看是否有效:

wp_register_script( 'acf-input-progressbar-js' ...
wp_register_style( 'acf-input-progressbar-css', ...