基于 ACF 值的入队脚本

Enqueue script based on ACF value

所以我想看看这是否可行以及我如何解决这个问题 - 但这是我正在使用的:

我创建了一个 ACF 组,它有两个字段:

当我添加 OneTrust 提供的 <script> 标签时,它会自动排队并在前端呈现并构建对象,所以我根本没有在其上调用 wp_enqueue_scriptfunctions.php 文件中。

这是 UI 中的设置:

我想做的是创建一个条件,即当 enable_onetrust 设置为 no/false 时,不要将脚本入队,否则将其入队。

由于没有在任何地方使用 wp_enqueue_script 调用脚本,我们如何着手执行此操作?

您必须检查启用 OneTrust 字段的字段值。 我会为此使用 true/false 字段。

如果您有 true/false 字段,您可以这样做:

<?php 
function my_assets() {

    $enable_onetrust = get_field('enable_onetrust'); 

    if ( $enable_onetrust == true ) :
        wp_enqueue_script( 'onetrust', 'PATH-TO-JS', , false, true );
    }
    endif;

add_action( 'wp_enqueue_scripts', 'my_assets' );
  
?>

对于其他脚本,您可以使用如下内容:

<?php 
add_action( 'wp_footer', function() {
    $enable_onetrust = get_field('enable_onetrust'); 

    if ( $enable_onetrust == true ) : ?>     

        <script>
            // Your Script
        </script>

    <?php endif; ?>

<?php }, 99 );