jQuery(document).ready(function(){
$('.myclass').keyup(function(eventObject){
var searchTerm = $.trim($(this).val());
if(searchTerm.length > 2){
if(eventObject.keyCode == 13){
$('#sendform input[name="s"]').val(searchTerm);
goSubmit();
return;
}
$.ajax({
type: 'GET',
url: ''/wp-content/themes/папка с темой/searchform.php',',
data: {
s: $('#search').val(),
'term' :searchTerm
},
success: function(data) {
$.ajax({
url : '/wp-admin/admin-ajax.php',
type: 'POST',
data:{
'action': вызываю функцию, которая находится в function.php для поиска статей',
'term' :searchTerm
},
success:function(result){
} });
}
});
};
$("#mybutton").click(function(){
if(($('#sendform input[name="s"]').val($('.myclass').val()).length) == 0) {
return false;
} else {
$('#sendform input[name="s"]').val($('.myclass').val());
goSubmit();
}
}) });
function goSubmit(){
if(($('#sendform input[name="s"]').val().length) == 0){
return false;
} else {
$('#sendform').submit();
}
}
}
});
<input class="myclass" placeholder="Поиск" type="text" value="" name="s" id="search">
<form id="sendform" action="<?php echo home_url(); ?>/" method="get">
<input class="myclass" type="text" name="s" id=search">
</form>
my-ajax.js?ver=5.0.3:38 Uncaught TypeError: Cannot read property 'length' of undefined
at goSubmit (my-ajax.js?ver=5.0.3:38)
jQuery(document).ready(function(){
$('.myclass').keyup(function(eventObject){
var searchTerm = $.trim($(this).val());
if(searchTerm.length > 2){
$.ajax({
url : '/wp-admin/admin-ajax.php',
type: 'POST',
data:{
'action':'codyshop_ajax_search',
'term' :searchTerm
},
success:function(result){
$.ajax({
url : 'wp-content/themes/папка с темой/searchform.php',
type: 'POST',
data:{
'term' :searchTerm
},
success:function() {
$('#sendform input[name="s"]').submit().val();
}
});
} });
// if(eventObject.keyCode == 13){
// $('#sendform input[name="s"]').val(searchTerm);
// goSubmit();
// return;
// }
};
$("#mybutton").click(function(){
if(($('#sendform input[name="s"]').val($('.search-field').val()).length) == 0) {
return false;
} else {
$('#sendform input[name="s"]').val($('.search-field').val());
goSubmit();
}
}) });
function goSubmit(){
if(($('#sendform input[name="s"]').val().length) == 0){
return false;
} else {
$('#sendform').submit();
}
}
});
<input class="myclass" placeholder="Поиск" type="text" value="" name="s" id="search">
jQuery(document).ready(function(){
$('.myclass').keyup(function(eventObject){
var searchTerm = $.trim($(this).val());
if(searchTerm.length > 2){
$.ajax({
url : '/wp-admin/admin-ajax.php',
type: 'POST',
data:{
'action':' ajax_search',
'term' :searchTerm
},
success:function(result){
} });
}
});
$args = array(
'post_type' => 'any',
'post_status' => 'publish',
'order' => 'DESC',
'orderby' => 'date',
's' => $_POST['term'],
'posts_per_page' => 5
);
$query = new WP_Query( $args );
<input class="myclass" placeholder="Поиск" type="text" value="" name="s" id="search">
<form><input class="myclass" placeholder="Поиск" type="text" value="" name="s" id="search"></form>
<input class="myclass" placeholder="Поиск" type="text" value="" name="s" id="search">
jQuery(document).ready(function(){
$('.myclass').keyup(function(eventObject){
var searchTerm = $.trim($(this).val());
if(searchTerm.length > 2){
$.ajax({
url : '/wp-admin/admin-ajax.php',
type: 'POST',
data:{
'action':' ajax_search', вызов функции, которая находится function.php
'term' :searchTerm
},
success:function(result){
} });
}
});
<input class="myclass" placeholder="Поиск" type="text" value="" name="s" id="search">
<form>
<input class="myclass" placeholder="Поиск" type="text" value="" name="s" id="search">
</form>
<input class="myclass" placeholder="Поиск" type="text" value="" name="s" id="search">
jQuery(function ($) {
$(document).on('keyup', '#search', function () {
var $val = $(this).val(),
$length = $val.length,
$data = {
action: 'wpp_search',
security: WppAjax.security,
string: $val
};
if ($length >= 3) {
$.post(WppAjax.ajax_url, $data, function ($response) {
if ($response.success) {
//$response.data.result - тут лежит результат поиска
} else {
// бла бла бла обработка ощшибок
}
});
}
});
})
add_action( 'wp_ajax_wpp_search', 'wpp_search' );
add_action( 'wp_ajax_nopriv_wpp_search', 'wpp_search' );
function wpp_search() {
check_ajax_referer( 'wpp-string', 'security' );
$string = sanitize_text_field( $_POST['string'] );
$out = '';
$errors = [];
if ( ! empty( $string ) ) {
$q = new WP_Query(
array(
's' => $string
)
);
if ( $q->have_posts() ) {
ob_start();
while ( $q->have_posts() ) : $q->the_post();
//тут стандартный вывод постов
endwhile;
$out .= ob_get_clean();
} else {
$out .= __( 'Не найдено результатов по запросу -', 'txt' ) . sprintf( '<b><i>%s</i></b>', $string );
}
} else {
$errors = __( 'Поисковый запрос пуст или не корректен', 'txt' );
}
if ( empty( $errors ) ) {
wp_send_json_success( array( 'result' => $out ) );
} else {
wp_send_json_error( array( 'result' => $errors ) );
}
}
add_action( 'wp_enqueue_scripts', 'wpp_assets' );
function wpp_assets() {
wp_enqueue_script( 'ajax', get_template_directory_uri() . '/assets/js/script.js', array( 'jquery' ), '1.0.0', true );
wp_localize_script( 'ajax', 'WppAjax', array(
'ajax_url' => admin_url( 'admin-ajax.php' ),
'security' => wp_create_nonce( 'wpp-string' )
) );
}
<input class="myclass" placeholder="Поиск" type="text" value="" name="s" id="search">
<form>
<input class="myclass" placeholder="Поиск" type="text" value="" name="s" id="search">
</form>
jQuery(document).ready(function(){
$('.myclass').keyup(function(eventObject){
var searchTerm = $.trim($(this).val());
if(searchTerm.length > 2){
$.ajax({
url : '/wp-admin/admin-ajax.php',
type: 'POST',
data:{
'action':'вызываю функцию, которая находится в function.php для поиска статей',
'term' :searchTerm
},
success:function(result){
} });
if(eventObject.keyCode == 13){
goWin();
return;
}
};
$("#mybutton").click(function(){
if(($('.myclass').val().length) == 0) {
return false;
} else {
goWin();
return;
}
}) });
function goWin(){
var forSearch = ($('.myclass').val());
var t = forSearch.length;
if(t<3) '<div class="my-error">' + 'Ничего не найдено' + '</div>'; тут я не знаю, как вывести сообщение об ошибке
else {
redirect(document.location.protocol + "//" + document.location.host + "/?s=" + forSearch);
}
}
function redirect(url,history){
if(history!=undefined) window.location.reload(url);
else window.location.replace(url);
}
});