将高级自定义字段添加到javascript

问题描述:

我在管理员中创建了ACF选项,因此用户可以通过管理员添加Cookie通知文本...我使用的JavaScript脚本在javascript内创建消息,所以我想要在javascript中回显ACF字段。将高级自定义字段添加到javascript

在我cookie.js的顶端文件我有:"<?php $cooke_msg = the_field('cookie_notice', 'option'); ?>";,我喜欢这样一个变种中呼应它:var msg = "<?php echo $cookie_msg; ?>";所以我的文件的开头是这样的:

"<?php $cooke_msg = the_field('cookie_notice', 'option'); ?>"; 

(function(){ 

    //Change these values 
    var msg = "<?php echo $cookie_msg; ?>"; 
    var closeBtnMsg = "OK"; 
    var privacyBtnMsg = "Privacy Policy"; 
    var privacyLink = "https://www.google.com"; 

    //check cookies 
    if(document.cookie){ 
    var cookieString = document.cookie; 
    var cookieList = cookieString.split(";"); 
    // if cookie named OKCookie is found, return 
    for(x = 0; x < cookieList.length; x++){ 
    if (cookieList[x].indexOf("OKCookie") != -1){return}; 
    } 
    } 

我”什么当我查看该网站时得到的信息是:<?php echo $cookie_msg; ?>,而不是ACF的实际信息......有没有一种方法可以实现这一点?

Wordpress提供了很好的功能来将PHP可变数据传递给js文件。

把这段代码放到你的主题functions.php页面。

function mytheme_load_scripts() { 

    wp_enqueue_script('mytheme-script', get_template_directory_uri() . '/js/mytheme-script.js'); 
    wp_localize_script('mytheme-script', 'mytheme_script_vars', array(
     'alert' => get_field("cookie_notice",$post_id) 
     ) 
    ); 

} 
add_action('wp_enqueue_scripts', 'mytheme_load_scripts'); 

并在您的主题根目录下创建一个js文件夹。在该目录内创建名为mytheme-script.js文件的js文件,&将下面的代码放在那里。

jQuery(document).ready(function($) { 

alert(mytheme_script_vars.alert); 

}); 

现在访问您网站的任何页面。当然,你会得到一个警示你的愿望领域的价值。确保您将适当的值分配给$ post_id。我认为这会帮助你。 Codex参考链接了解更多详情:WP Localize Script Function