如何使用PHP在锚定点击中调用类中的特定函数?

时间:2016-06-23 06:22:44

标签: php ajax wordpress

我知道我可以使用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()函数之上运行?有人指导我吗?

2 个答案:

答案 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
            }
        });
}