检测来自任何wordpress表单的用户输入值

时间:2017-05-09 16:08:45

标签: wordpress

我正在尝试开发一个wordpress插件,我需要从特定页面中的任何表单获取用户输入数据(不知道它的动作)我到目前为止提出的这个解决方案是使用javascript获取值然后将其传递给php:

jQuery(function ($) {
    $(document).ready(function(){
        $( "form" ).submit(function( event ) {
        if($( "form" ).valid()){
            var inputs = $( "form input" );
            var inputValues = [];
            inputs.each(function(index){
                if($(this).attr('type') !== 'submit')
                    inputValues.push($(this).val());
            });
        }
        event.preventDefault();
        });

    });
});

我尝试使用Ajax

将Javascript变量inputValues传递给我的插件
$.ajax({
  type: 'POST',
  url: '../wp-content/plugins/myplugin/myplugin.php',
  data: {'variable': inputValues},
   });

但是我的某些网页的网址出现问题,我无法在myplugin.php文件中使用$ _POST ['变量']。 有没有办法完成我想要做的事情,或者你知道另一种解决方案吗? 提前谢谢。

1 个答案:

答案 0 :(得分:0)

在如何使用WordPress实现AJAX调用方面,请查看WordPress Codex。你没有正确地做到这一点。

JavaScript似乎是关于这样做的一种方式。我建议挂钩几乎每次都被调用的一个钩子,如template_redirecthttps://codex.wordpress.org/Plugin_API/Action_Reference/template_redirect)。

然后,您可以查看$_POST变量中的内容,并执行您需要执行的操作。只要URL链接到正确的AJAX WordPress端点,这甚至可以捕获AJAX表单。

希望这有帮助