尝试在wordpress javascript中提取acf字段时出错

尝试在wordpress javascript中提取acf字段时出错,javascript,jquery,wordpress,advanced-custom-fields,userid,Javascript,Jquery,Wordpress,Advanced Custom Fields,Userid,当我写这篇文章的时候就可以了: <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 $("#subje

当我写这篇文章的时候就可以了:

<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>

$(文档).ready(函数(){
var user_id=“”;//测试正常
var subject=“;//用于测试
$(“#主题”).val(主题);//成功提取
});
但当我使用动态变量“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>
wp_localize_script( 'the-js-handler-you-want-to-have-this-object', 'siteData', [
    'subject' => the_field( 'subject', 'user_' . get_current_user_id() ),
] );
console.log( siteData.subject )

$(文档).ready(函数(){
var user_id=“”;//测试正常

var subject=“为什么要使用这种方法?它不是最优的。 请不要在PHP文件中使用JavaScript。要使其更正式,请使用“wp\u本地化\u脚本”

比如说:

<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>
wp_localize_script( 'the-js-handler-you-want-to-have-this-object', 'siteData', [
    'subject' => the_field( 'subject', 'user_' . get_current_user_id() ),
] );
console.log( siteData.subject )
然后在Js文件中,您可以这样使用它:

<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>
wp_localize_script( 'the-js-handler-you-want-to-have-this-object', 'siteData', [
    'subject' => the_field( 'subject', 'user_' . get_current_user_id() ),
] );
console.log( siteData.subject )
请注意,您案例的代码修复为“”

var用户id='';
var subject=“”;

好吧,我终于成功了

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

var subject = "<?php echo the_field('subject', 'user_' .get_current_user_id() ); ?>";
var subject=”“;
var subject=“”;这无法在javascript中获取参数“user\u id”,它只是blockquote中的一个文本“”