在Java脚本中设置变量并在我的短码中使用

时间:2014-06-11 作者:sultan

我的脚本是

function($) {
   var google_map_address = $(\'#address\').text();
$(function () {
$(\'#gmap\').gmap3({
    marker: {
        address: google_map_address 
    },
    map: {
        options: {
            zoom: 14
        }
    }
}); });})(jQuery);
我的php代码是

    init_shortcode();
    function init_shortcode() {
    $shortcodes = array(
    \'gmap\' => \'spyrowebs_gmap\');
    foreach( $shortcodes as $tag => $func )
        add_shortcode( $tag, $func );
    }  
    function spyrowebs_gmap( $atts = array(), $content = \'\' ) {
    $defaults = array(
        \'address\' =>\'\',
      );
    $atts = shortcode_atts( $defaults, $atts );
    extract( $atts );
    $address=$address;
    return \' <div class="gmap" id="gmap"><div id="address" style="display:none">\'.$address.\'</div></div>\';
}
但这不起作用,我想创建一个

[gmap address="your address"]
现在,当我给javascript变量赋值时,问题是什么

var google_map_address = \'your address\';
那么它的工作,而在上面它不工作,请任何帮助。当我把上面的代码放在我的主题中时,它就起作用了,但当我在插件中使用它时,它就不起作用了。

2 个回复
SO网友:sultan

嘿,伙计们,我找到解决办法了。

只需在页脚而不是页眉中包含我的脚本。

add_action(\'wp_footer\', \'spyrowebs_gmap_enqueue_scripts\');

SO网友:Matt Royal

尝试使用html() 相反,如果text() 作用

尝试:

var google_map_address = $(\'#address\').html();

结束