自动完成字段已工作数月,但未登录时已停止工作?不确定何时但在最近几天或几周内(wordpress最近未更新)。
已经拥有;add\\u action(\'wp\\u ajax\\u filter\\u schools\',\'filter\\u schools\');add\\u action(\'wp\\u ajax\\u nopriv\\u filter\\u schools\',\'filter\\u schools\');
在函数中。php,任何地方都没有错误。
未登录时得到的响应为
来自safari*请求URL:http://www.payingforit.org.uk/wp-admin/admin-ajax.php?term=holywe&;操作=筛选学校(&U);postType=schoolRequest方法:GETStatus代码:302已找到*
欢迎任何帮助!Dc。
jquery代码
$( "#userSelectedSchool" ).bind( "keydown", function( event ) {
if ( event.keyCode === $.ui.keyCode.TAB &&
$( this ).data( "autocomplete" ).menu.active ) {
event.preventDefault();
}
}).autocomplete({
source: function( request, response ) {
$.getJSON( "/wp-admin/admin-ajax.php", {
term: extractLast( request.term ), action: \'filter_schools\', postType: \'school\'
}, response );
dataToBeSent = {
term: extractLast( request.term ), action: \'filter_schools\', postType: \'school\'
}
console.log(request.term);
}, select: function( event, ui ) {
var terms = split( this.value );
// remove the current input
terms.pop();
// add the selected item
terms.push( ui.item.id );
// add placeholder to get the comma-and-space at the end // ui.item.label
terms.push( "" );
this.value = ui.item.label;
$(\'input[name=userSchool]\').val(ui.item.urn)
return false;
}, open: function() { $(\'.ui-menu\').width(300) }
});
函数中的函数。php
add_action(\'wp_ajax_filter_schools\', \'filter_schools\');
add_action(\'wp_ajax_nopriv_filter_schools\', \'filter_schools\');
function filter_schools(){
global $wpdb; // this is how you get access to the database
$str = $_GET[\'term\'];
$action = $_POST[\'action\'];
$postType = $_POST[\'postType\'];
$finalArgs = array (
\'posts_per_page\'=>5,
\'order\' => \'ASC\',
\'post_type\' => \'school\'
);
$searchSchools = new WP_Query( $finalArgs );
$mypostids = $wpdb->get_col("select ID from $wpdb->posts where post_title LIKE \'".$str."%\' ");
$args = array(
\'post__in\'=> $mypostids,
\'post_type\'=>\'school\',
\'orderby\'=>\'title\',
\'order\'=>\'asc\'
);
$res = new WP_Query($args);
while( $res->have_posts() ) : $res->the_post();
global $post;
$EstablishmentNumber = get_post_meta($post->ID,\'EstablishmentNumber\', true);
$URN = get_post_meta($post->ID,\'URN\', true);
$add = get_post_meta($post->ID,\'address\', true);
$schl = array(\'post_id\'=>$post->ID,\'id\'=>$EstablishmentNumber, \'label\'=>$post->post_title.\', \'.$add[\'town\'].\' \'.$add[\'postcode\'] , \'value\'=>$EstablishmentNumber, \'urn\'=>$URN );
$matchedSchools[] = $schl;
endwhile;
echo json_encode($matchedSchools);
wp_reset_postdata();
die(); // this is required to return a proper result
}