【问题标题】:I have error when try to extract acf field in wordpress javascript尝试在 wordpress javascript 中提取 acf 字段时出现错误
【发布时间】:2021-01-12 00:15:24
【问题描述】:

这样写就OK了:

<script>
$(document).ready(function(){

    var user_id = '<?php echo get_current_user_id(); ?>'; // Test ok
    var subject = "<?php echo the_field('subject', 'user_1'); ?>"; // For test
    $("#subject").val(subject); // Extract successfully
    
});
</script>

但是当我使用动态变量“user_id”时出现空白错误,如下所示:

<script>
$(document).ready(function(){

    var user_id = '<?php echo get_current_user_id(); ?>'; // Test ok
    var subject = "<?php echo the_field('subject', 'user_" + user_id + "'); ?>"; // Blank error
    $("#subject").val(subject);
    
});
</script>

你知道我哪里错了吗?

【问题讨论】:

    标签: javascript jquery wordpress advanced-custom-fields userid


    【解决方案1】:

    为什么你甚至使用这种方法它不是最佳的。 请不要在 PHP 文件中使用 JavaScript。为了使它更正式,请使用“wp_localize_script”

    所以是这样的:

    wp_localize_script( 'the-js-handler-you-want-to-have-this-object', 'siteData', [
        'subject' => the_field( 'subject', 'user_' . get_current_user_id() ),
    ] );
    

    然后在Js文件中,就可以这样使用了:

    console.log( siteData.subject )
    

    请注意您的案例的代码修复是“”

    var user_id = '<?php echo get_current_user_id(); ?>';
    var subject = "<?php echo the_field( 'subject', 'user_' + user_id ); ?>";
    

    【讨论】:

    • var subject = "";这无法在javascript中获取参数“user_id”,它只是块引用中的文本“”
    【解决方案2】:

    嗯,我终于成功了

    我在块引用中使用 php 语法,而不是 javascript 语法 因为javascript语法在php代码中会被误解

    var subject = "<?php echo the_field('subject', 'user_' .get_current_user_id() ); ?>";
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-03
      • 2022-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-24
      相关资源
      最近更新 更多