我在我的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中进行更新。或者您知道更新的更新方法吗?
答案 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';
});