如何在Wordpress functions.php中使用高级自定义字段对脚本进行入队和出列?

问题描述 投票:0回答:1

我想在Wordpress后端的管理面板中创建带有高级自定义字段的复选框,可以启用和禁用脚本。

我创建了一个复选框字段,称为import_animejs并检查它。然后使用acf/load_field排队脚本,但我错过了一些因为它不起作用。

这是我的代码:

function acf_checkbox_scripts() {
    wp_register_script('animejs', get_stylesheet_directory_uri() . '/bower_components/animejs/lib/anime.min.js', array('jquery'),'1.1', true);
}
add_action( 'wp_enqueue_scripts', 'acf_checkbox_scripts', 5 );

function load_field_import_animejs( $field ) {
    wp_enqueue_script('animejs');
    return $field;
}
add_filter('acf/load_field/name=import_animejs', 'load_field_import_animejs');

我希望过滤器能够识别出import_animejs被勾选并将anime.js排队,但事实并非如此。

更新:非常感谢Lachlan的回答,这只是为了澄清我在上面发布的代码中完全删除了acf / load_field“load_field_import_animejs”函数。

php wordpress wordpress-theming advanced-custom-fields acfpro
1个回答
0
投票

您需要执行if语句并检查该字段是否为true

这可以通过以下方式完成:

function acf_checkbox_scripts() {
    if ( get_field( 'import_animejs', 'options' ) ) { // only include 'options' if the acf field is on an acf options page, if not use the post_id of that page
        wp_register_script('animejs', get_stylesheet_directory_uri() . '/bower_components/animejs/lib/anime.min.js', array('jquery'),'1.1', true); 
        wp_enqueue_script('animejs');
    }
}

add_action( 'wp_enqueue_scripts', 'acf_checkbox_scripts', 5 );
© www.soinside.com 2019 - 2024. All rights reserved.