尝试在 wordpress javascript 中提取 acf 字段时出现错误
Posted
技术标签:
【中文标题】尝试在 wordpress javascript 中提取 acf 字段时出现错误【英文标题】:I have error when try to extract acf field in wordpress javascript 【发布时间】: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>
你知道我哪里错了吗?
【问题讨论】:
【参考方案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() ); ?>";
【讨论】:
以上是关于尝试在 wordpress javascript 中提取 acf 字段时出现错误的主要内容,如果未能解决你的问题,请参考以下文章
我正在尝试创建非常简单的 wordpress 插件,但我的 javascript 无法正常工作
如何在 Wordpress 插件中加载 Javascript
如何在 wordpress 帖子区域中添加自定义 javascript?