php - 在 ajax 中从 wordpress 调用 PHP 函数?

标签 php ajax wordpress jquery

reset.php 文件:

 <?php 
    add_action('admin_init','popup_template_reset_options');

    function popup_template_reset_options() 
        {
        delete_option('popup_template_on');
        delete_option('popup_template_close');
        delete_option('popup_template_escape');
        delete_option('popup_template_external');
        delete_option('popup_template_home_page');
        delete_option('popup_template_all_pages');
        delete_option('popup_template_template');
        delete_option('popup_cookies_display_after_like');
        add_option('popup_cookies_display_after_like','365');
        //add_option('popup_template_on','1');
        add_option('popup_template_close','1');
        add_option('popup_template_escape','1');
        add_option('popup_template_external','1');
        add_option('popup_template_force_timer','2');
        add_option('popup_template_home_page','1');
        add_option('popup_template_all_pages','1');
        add_option('popup_template_template','2');

    }
    ?>

脚本 Ajax:

<script type="text/javascript">
    $(document).ready(function() {
        $('#reset_general').click(function()
        {
            $('#result1').css("display", "block");
            jQuery('#result1').animate({'opacity': '1'});

        });
    });
    function resetgeneral() {
        $.ajax({type: 'POST', url: '<?php echo WP_PLUGIN_URL; ?>/fantasticpopuptemplate/inc/reset.php', success: function(response) {

                //$('#fff').find('.form_result').html(response);
                $('#result1').css("display", "none");
                $('#resets1').css("display", "block");
                $('#resets1').html("Settings Resets");
                $('#resets1').fadeOut(2500, "linear");
            }});

        return false;
    }

</script>
<form onsubmit="return resetgeneral();" id="form_general_reset" class="form-1">
    <input type="submit" value="Reset" id="reset_general" name="reset" class="button-secondary"/>
    <input name="action" type="hidden" value="reset" />

</form>

您好,我试图在 ajax 中调用 php 重置函数,但是当我使用谷歌搜索时,我知道直接调用 php 函数是不可能的,所以我将该特定函数放在单独的 php 文件中并调用该 php 文件,我不确定我该如何在 ajax 中执行此操作我尝试了上面的代码,但没有任何反应。出现设置重置消息。我该怎么做任何帮助都会很棒。在使用 ajax 概念之前,我尝试在 php 中使用 isset 函数,但它每次都会加载页面,为此只有我跳入 ajax。

最佳答案

通过依赖 admin_ajax.php,有一种在 WordPress 插件中实现 AJAX 的标准方法。文件名具有误导性,因为它也可以通过将函数分配给 AJAX 操作在前端使用。

WordPress Codex 上有一个很好的描述:

http://codex.wordpress.org/AJAX_in_Plugins

需要注意的一件事:您的 AJAX 处理函数必须始终以 die() 命令终止,以避免 WordPress 输出额外的“0”。

关于php - 在 ajax 中从 wordpress 调用 PHP 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16954945/

相关文章:

javascript - ajax调用并在php中验证电子邮件

jquery - 尝试拉取 json img 时未定义

jquery - WordPress 中的自定义 ajax 请求

database - 如何使用wordpress数据库到laravel?有什么办法吗?

javascript - 根据本地语言将代码添加到 WordPress header 到functions.php中

php - 未找到 Facebook InsightsPresets

php - 您可以解决 PHP 中超出范围的后期静态绑定(bind)吗?

php - 在 PHP 中使用 PGSQL

javascript - 使用 FileReader 和 FormData 上传文件有什么区别?

php - 如何使用 MySQL 在 PHP 上进行全字搜索