javascript - Wordpress ACF 包含 input.js 不工作

标签 javascript php wordpress advanced-custom-fields

我正在为 wordpress 使用 acf v4 插件。 我正在尝试包含 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

最佳答案

你必须使用类似下面的东西来 Hook 你的函数:

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 将您的函数 Hook ,那么问题可能是您的样式和脚本命名相同:

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', ...

关于javascript - Wordpress ACF 包含 input.js 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31251956/

相关文章:

javascript - 不使用 ssl 发送应用请求

javascript - 使用 Angular 中的复选框修改工厂对象

javascript - 在 Javascript 中将多个条件合并为一个条件

javascript - 在 Heroku 上访问 Javascript 中的环境变量?

php - mysql真实转义字符串和Cookies

php - 如何将格式化的textarea文本保存到MySQL并再次加载?

wordpress - 如何用 %23 重写 URL?

html - WordPress 站点 : background issue

php - 是否可以在没有 htaccess 文件的情况下重写 URL?

mysql - 删除mysql中字符串后面的所有内容