Ich muss WordPress AJAX-Suchergebnisse einrichten, aber meine Methode ruft die Ergebnisse nicht ab, wenn die Schaltfläche geklickt wird und leitet mich stattdessen auf eine andere Website um (myurl.com? s = Begriff). Ich habe admin-ajax.php korrekt aufgerufen, aber falsch eingerichtet. Irgendwelche Ideen, was das Problem verursacht?So verwenden Sie Jquery zum Abrufen von AJAX-Suchergebnissen für WordPress
//Script to activate ajax
jQuery(document).ready(function($){
var search_val=$("#s").val();
$('#searchsubmit').click(function(){
$.post(
WPaAjax.ajaxurl,
{
action : 'wpa56343_search',
search_val : search_val
},
function(response) {
$('#results').append(response);
}
);
});
});
//function to setup wp_query
add_action('wp_ajax_wpa56343_search', 'wpa56343_search');
function wpa56343_search(){
global $wp_query;
$search = $_POST['search_val'];
$args = array(
's' => $search,
'posts_per_page' => 5
);
$wp_query = new WP_Query($args);
get_template_part('search-results');
exit;
}
//html
<div id="my_search">
<form role="search" method="get" id="searchform" action="http://myurl.com/" >
<input type="text" value="" name="s" id="s" />
<input type="submit" id="searchsubmit" value="Search" />
</form>
</div>
<div id="results"></div>
Mein search.php bei einem Kind Thema ist. Macht das auf der .post-Linie einen Unterschied? –
geben Sie die richtige URL Ihrer search.php, wo es ist, überprüfen Sie den Fehler in der Konsole. –
Yeap das war das Problem. Danke, dass du meine Hand gehalten hast! –