WordPress插件管理页面-在链接的php文件中使用WordPress函数

WordPress插件管理页面-在链接的php文件中使用WordPress函数,php,wordpress,jquery,Php,Wordpress,Jquery,我一直在开发一个非常简单的WordPress插件,并希望对页面上的某些字段进行实时验证,这正是我遇到的问题。我一直在到处寻找有效的东西,但我就是不能让它发挥作用 我一直在努力让ajax正常运行,我知道我遗漏了一些明显的东西,我就是想不出来 主要功能文件包括注册我的js文件 function on_screen_validation() { wp_enqueue_script( "field_validation", path_join(WP_PLUGIN_URL, basename( d

我一直在开发一个非常简单的WordPress插件,并希望对页面上的某些字段进行实时验证,这正是我遇到的问题。我一直在到处寻找有效的东西,但我就是不能让它发挥作用

我一直在努力让ajax正常运行,我知道我遗漏了一些明显的东西,我就是想不出来

主要功能文件包括注册我的js文件

function on_screen_validation() {
    wp_enqueue_script( "field_validation", path_join(WP_PLUGIN_URL, basename( dirname( __FILE__ ) )."/field-validation.js"), array( 'jquery' ) );
}
add_action( 'admin_print_scripts', 'on_screen_validation' );
js运行此代码来捕获onblur命令并将值传递给php验证文件

jQuery(document).ready(function() {
    //run field validation on username on blur
    jQuery('.valusername').blur(function() {

        var usernameID = jQuery(this).attr('id');
        var usernameVal = jQuery('#'+usernameID).val();
        var thisFunction = 'validateUserName';

        jQuery.post("mywebaddress...validation.php",{Function: thisFunction, thevars: usernameVal}, function(data) {
             alert(data); //would update validation message here
        });
    });
});
validation.php脚本如下所示:

if(isset($_POST['Function'])){
    call_user_func($_POST['Function'], $_POST['thevars']);
}

function validateUserName($username){   
   if ( username_exists($username) ) {
       echo $username.' does exist'; 
   } else {
       echo $username.' doesnt exist';
   }
}
显然,我现在只是使用警报来确保数据被正确检查

如果我取出WordPress username_exists函数,只回显一个字符串,它就可以正常工作。但如果用户名_存在,则会创建一个500内部服务器错误。我需要知道如何获取这个externalvalidation.php文件来识别WordPress函数(我想),到目前为止我还没有发现任何有用的东西

谢谢你的阅读。。。对不起,我解释得太长了,我只是想确保上下文都在那里,这样才有意义(我希望!)


干杯,Matt

您的
validateUserName
功能中缺少一个右括号:

function validateUserName($username) {   
    if ( username_exists($username) ) {
        echo $username.' does exist'; 
    } else {
        echo $username.' doesn\'t exist';
    }
}
应该有用

但是,作为一个函数,最好返回一个值,然后自己回显结果:

function validateUserName($username) {   
    if ( username_exists($username) ) {
        return $username.' does exist'; 
    } else {
        return $username.' doesn\'t exist';
    }
}

echo validateUserName($someUsername);

我在Wordpress的回答中问了同样的问题-


我认为最好是简单地链接到帮助我的答案=)谢谢大家。

也许是一个问题?@KeokiZee:这里和那里都有主题,所以我倾向于留下它。哦,对不起,无意中错过了括号,更新了问题。。。然而,您的第二个版本的函数似乎没有什么不同,我仍然得到内部服务器错误。