1

我想使用 Wordpress'wp_localize_script$atts可用的短代码传递给 javascript 脚本。

似乎wp_localize_script这只适用于我wp_enqueue_script引用脚本的相同功能。

$atts在不同的功能中访问简码。

function csf_enqueue () {

//other enqueued scripts

wp_enqueue_script( 'csf_script_jquery', plugins_url( 'js/path/to/file', __FILE__ ), array ( 'jquery', 'jquery-ui-core') );

    $myvars = array('value' => 'one');
    wp_localize_script('csf_map_script_jquery', 'myVars', $myvars);
}

我想$myvars用简码'替换$atts

我添加短代码如下;

add_shortcode("csf_map", "csf_shortcode_ajax_frontend");

csf_shortcode_ajax_frontend(),我访问简码$atts

function csf_shortcode_ajax_frontend( $atts, $content = null ) {

      $atts = shortcode_atts( array ( 
      'width'=> 600,
      'height'=> 400,
      'myinfo' => 'blah'
      ), $atts );  

//continues
}

当 wp_localize_script 有 (?) 包含该行时, 如何访问$atts包含 的函数中的简码?wp_localize_scriptwp_enequeue_script

4

2 回答 2

1
global $atts;

然后在你的函数中提取 atts。

extract($atts);

希望这对你有用。祝你好运

于 2012-06-01T03:41:49.780 回答
0

最好使用 update_option("this_is_a_field", $atts) 在 csf_shortcode_ajax_frontend() 中创建一个选项字段,然后在调用 wp_localize_script() 挂钩时访问 csf_enqueue() 中的相同数据库选项字段?

于 2012-03-28T16:53:33.237 回答