使用jquery wordpress加载php文件

时间:2013-04-14 21:21:49

标签: php jquery wordpress wordpress-plugin wordpress-theming

我在我的worpdress主题ios按钮开关中实现,当有人点击按钮时,脚本加载带有文本的php文件:on或off

以下是代码:

  <script type="text/javascript">

$('#1').iphoneSwitch("<?php echo get_user_meta( $current_user->ID, '_fbpost_status', true); ?>", 
 function() {
   $('#ajax').load('<?php bloginfo( 'template_url' ); ?>/includes/ajaxswitch/on.php');
  },
  function() {
   $('#ajax').load('<?php bloginfo( 'template_url' ); ?>/includes/ajaxswitch/off.php');
  },
  {
    switch_on_container_path: '<?php bloginfo( 'template_url' ); ?>/includes/ajaxswitch/iphone_switch_container_off.png'
  });

因此on.php只有“Activated”文本和.php“Stoped”文本。开启和关闭文件未包含wordpress变量。我怎么能包括它们?在db中进行更新。或者您知道更新的更新方法吗?

1 个答案:

答案 0 :(得分:0)

由于您使用的是WordPress,这样做的最佳方式是在wp_localize_script中发送带functions.php的JavaScript变量:

add_action('wp_enqueue_scripts', 'my_frontend_data');
function my_frontend_data()
{
  global $current_user;
  wp_localize_script('data', 'Data', array(
    'userMeta' => get_user_meta($current_user->ID, '_fbpost_status', true),
    'templateUrl' => get_template_directory_uri()
  ));
}

以上内容将添加一个可在您的所有网页中访问的JavaScript Data变量。然后你可以在前端使用它,如下所示:

var ajaxUrl = Data.templateUrl +'/includes/ajaxswitch/';

$('#1').iphoneSwitch(Data.userMeta, function() {
  $('#ajax').load(ajaxUrl +'on.php');
}, function() {
  $('#ajax').load(ajaxUrl +'off.php');
}, {
  switch_on_container_path: Data.templateUrl +'iphone_switch_container_off.png';
});