wordpress插件中向javascript文件传递参数
Posted in wordpress by 巫山霏云 on 06-22-2009.在WordPress digg comment插件的javascript文件中需要一些用户在后台设置的参数,但是出于简化的目的我把js文件分离成了一个单独的文件,这样的话对js文件传递参数就成了一个头疼的问题。一直以来我使用一个很笨的方法,将要使用到的值直接写到html文件的head中,直到前一阵子看到了wp_localize_script函数,才发现有这么一个简单的方法可以帮助我们方便的传递参数。函数原型为:
wp_localize_script( $handle, $object_name, $l10n ) |
$handle就来自于wp_enqueue_script或者wp_register_script注册脚本的时候的名字,参考我的前一篇日志《Wordpress插件中加载javascript和css文件》。$object在实际过程中如下使用即可:
wp_register_script('digg_script', $url, array('jquery'), '1.0', TRUE); wp_enqueue_script('digg_script'); wp_localize_script('digg_script', 'WPDiggComment', array( 'cmt_digg_vote_up' => get_option('cmt_digg_vote_up'), 'cmt_digg_vote_down' => get_option('cmt_digg_vote_down'), 'siteurl' => get_option('siteurl') )); |
在js文件中使用如下方法获取值:
cmt_digg_vote_up = WPDiggComment.cmt_digg_vote_up; cmt_digg_vote_down = WPDiggComment.cmt_digg_vote_down; siteurl = WPDiggComment.siteurl; |
使用了wp_localize_script函数后就可以放弃那个丑陋的方法了。