我知道我可以使用AJAX这样做,但我不知道如何使用AJAX实现这一点,那么任何人都可以指导我如何实现这个目标吗?我正在使用radium一键演示导入库,我想在我的主题选项中添加一个按钮单击我要导入数据...这里是radium一键导入库的完整代码。此代码位于radium-importer.php
文件中。由于文本限制,无法输入完整代码。
以下是在radium导入类中运行导入程序的代码:
<div class="radium-importer-wrap" data-demo-id="1" data-nonce="<?php echo wp_create_nonce('radium-demo-code'); ?>">
<form method="post">
<?php $this->intro_html(); ?>
<input type="hidden" name="demononce" value="<?php echo wp_create_nonce('radium-demo-code'); ?>" />
<input name="reset" class="panel-save button-primary radium-import-start" type="submit" value="<?php echo $button_text ; ?>" />
<input type="hidden" name="action" value="demo-data" />
<br />
<br />
<div class="radium-importer-message clear">
<?php if( 'demo-data' == $action && check_admin_referer('radium-demo-code' , 'demononce')){
$this->process_imports();
} ?>
</div>
</form>
</div>
所以,如果我的HTML是这样的:
<a href="#" class="import">Import Demo</a>
那么如何使用AJAX或PHP在process_imports()
函数之上运行?有人指导我吗?
答案 0 :(得分:2)
以下是一些代码段:
HTML
<a href="#" class="import">Import Demo</a>
<强>的Javascript 强>
<script>
$(document).ready(function() {
$('body').on('click', '.import', function(e){
e.preventDefault;
$.ajax({
type: 'POST',
url: '<?php echo admin_url( 'admin-ajax.php' ); ?>',
data: 'action=import_process', // Your parameter goes here
contentType: false,
processData: false,
success: function(response){
// Your response
}
});
});
});
</script>
function.php文件的PHP代码
add_action('wp_ajax_import_process', 'import_process');
add_action('wp_ajax_nopriv_import_process', 'import_process'); // Allow front-end submission
function import_process(){
// Your php code goes here
}
答案 1 :(得分:0)
首先让您的<a>
成为<a href="#" onclick="process_imports()" class="import">Import Demo</a>
然后它就是你的ajax功能。
function process_imports(){
$.ajax({
url: "data.php",//file wich has importing porcess
data: {id:theid},//describe your data here
dataType: 'json',// type of data that will you get (JSON/HTML).
type: 'POST',//sending type (POST/GET)
success: function(data) {
//do what you want to be
}
});
}