我想使用Wordpress的wp_localize_script
来传递可用于javascript脚本的短代码$atts
。
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);
}
我想用短代码"$atts
"替换$myvars
。
我添加的短代码如下;
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有(?(包含wp_enequeue_script
行时,如何访问包含wp_localize_script
的函数中的短代码$atts
?
global $atts;
然后提取函数中的atts。
extract($atts);
希望这对你有用。好运
调用wp_localize_script((钩子时,最好在csf_shortode_ajax_frontend((中用update_option("this_is_a_field",$atts(创建一个选项字段,然后访问csf_enqueu((中的同一数据库选项字段,这不是最好的吗?