基于 ACF 值的入队脚本
Enqueue script based on ACF value
所以我想看看这是否可行以及我如何解决这个问题 - 但这是我正在使用的:
我创建了一个 ACF 组,它有两个字段:
- 启用 OneTrust,名称:enable_onetrust,单选按钮
- 脚本标签,名称:onetrust_script_tag,文本区
当我添加 OneTrust 提供的 <script>
标签时,它会自动排队并在前端呈现并构建对象,所以我根本没有在其上调用 wp_enqueue_script
在 functions.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 );
所以我想看看这是否可行以及我如何解决这个问题 - 但这是我正在使用的:
我创建了一个 ACF 组,它有两个字段:
- 启用 OneTrust,名称:enable_onetrust,单选按钮
- 脚本标签,名称:onetrust_script_tag,文本区
当我添加 OneTrust 提供的 <script>
标签时,它会自动排队并在前端呈现并构建对象,所以我根本没有在其上调用 wp_enqueue_script
在 functions.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 );