检测用户从任何文字新闻表单输入的值



我正在尝试开发一个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['variable']。有没有办法完成我正在尝试做的事情,或者你知道另一种解决方案吗?提前谢谢。

关于如何使用WordPress实现AJAX调用,请查看WordPress Codex。你做得不对。

JavaScript 似乎是一种关于做到这一点的方式。我建议钩入几乎每次都调用的钩子之一,例如 template_redirect (https://codex.wordpress.org/Plugin_API/Action_Reference/template_redirect(。

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

希望这有帮助

最新更新