我有一个主要的插件文件,需要getuser.php(也是插件文件)。 在getuser.php我已在主要插件文件编写的函数的getUser()在jQuery中使用自定义PHP函数 - wordpress
现在我试图调用用下面的代码此功能:
主要插件文件:
<?php
/*
Plugin Name: FixFormData
Description: If you want to autocomplete a form with existing data, this plugin is for you.
Version: 1.1
Author: Stijn Aerts
Author URI: http://stijnaerts.be
License: GPL2
*/
require(plugin_dir_path(__FILE__) . 'menu.php');
//require_once(plugin_dir_path(__FILE__) . 'getuser.php');
add_action('wp_footer', 'ajax_lookup_userdata');
function ajax_lookup_userdata(){
if (!is_admin()) {
wp_enqueue_script('jquery');
}
?>
<script type="text/javascript">
jQuery(document).ready(function($){
jQuery('#input_1_2').change(function(){showUserName(this.value);});
function showUserName(str){
if(str==''){jQuery('#input_1_3').val('');}
jQuery.get("<?php echo plugins_url() . '/FixFormData/getuser.php'; ?>", { q: str }, function(response){
var parsed = JSON.parse(response);
var arr = [];
for(var x in parsed){ arr.push(parsed[x]);}
jQuery('#input_1_3').val(arr[1]);
jQuery('#input_1_4').val(arr[2]);
});
}
});
</script>
<?php
}
?>
getuser.php:
<?php
if (isset($_POST['q']) && !empty($_POST['q'])) {
getuser($_POST['q']);
exit;
}
function getuser($str)
{
//$q = intval($_GET['q']);
//include "../../../wp-load.php";
global $wpdb;
$myoption = get_option('fixformdata_options');
$myoptionValue = maybe_unserialize($myoption);
$result2 = $wpdb->get_row
(
$wpdb->prepare
(
"SELECT * FROM {$myoptionValue[tablename]} WHERE personeelsNummer = %d", $str
)
);
if($result2)
{
echo json_encode($result2);
}
}
?>
这仍然不起作用。
您试图调用PHP函数与JavaScript?你不能这样做 – QuinnFTW 2014-08-28 19:31:41
是的我知道,我也试过<?php echo getuser()?> – 2014-08-28 19:33:15
getuser()是做什么的?它是否返回一个变量? – ndiego 2014-08-28 19:43:05