Tìm kiếm sản phẩm bằng ajax 25 Tháng 10, 2018 Akasa Code WP Code html <form action="<?=home_url(); ?>/" autocomplete="off" class="col-12 col-sm-12 p-0 form-search-box" method="get" accept-charset="utf-8"> <input type="hidden" name="post_type" value="product"> <input type="text" name="s" placeholder="<?=__tr('search_entire_store_here'); ?>" class="text-search"> <button type="submit"><i class="fa fa-search"></i></button> <div class="result-search"></div> </form> Code php thêm vào file functions.php // ***Lấy link ajax mặc định của wordpress function link_ajax_template(){ ?> <script type="text/javascript" charset="utf-8" > url_ajax='<?=admin_url('admin-ajax.php'); ?>'; </script> <?php } add_action('wp_head','link_ajax_template'); //***Tạo functions load ajax add_action('wp_ajax_nopriv_load_search_results',array($this,'load_search_results')); add_action('wp_ajax_load_search_results',array($this,'load_search_results')); function load_search_results() { if(isset($_POST['keysearch'])): $query = addslashes(trim(strip_tags($_POST['keysearch']))); $args = array( 'post_type' => 'product', 's' => $query, 'post_status' => 'publish', 'orderby' => 'title', 'order' => 'ASC', 'showposts' => 4 ); $wp_query = new WP_Query($args); if ($wp_query->have_posts()): while ($wp_query->have_posts()): $wp_query->the_post(); $product=new WC_Product(get_the_ID()); ?> "/> ?> endwhile; endif; wp_reset_postdata(); endif; exit; } Code Javascript : jQuery(".form-search-box .text-search").keyup(function () { if (jQuery(this).val().length > 0) { jQuery.ajax({ type: 'post', url:url_ajax, data: { action: 'load_search_results', keysearch: jQuery(this).val() }, success: function (html) { jQuery(".result-search").html(html); }, error:function(){ jQuery(".result-search").empty(); } }); } else { jQuery(".result-search").empty(); } }); jQuery(".result-search").click(function(e){ e.stopPropagation(); }); jQuery(document).click(function(){ jQuery(".result-search").empty(); }); 0 0 đánh giá Đánh giá bài viết Please wait...
25 Tháng 10, 2018 Akasa Code WP Code html <form action="<?=home_url(); ?>/" autocomplete="off" class="col-12 col-sm-12 p-0 form-search-box" method="get" accept-charset="utf-8"> <input type="hidden" name="post_type" value="product"> <input type="text" name="s" placeholder="<?=__tr('search_entire_store_here'); ?>" class="text-search"> <button type="submit"><i class="fa fa-search"></i></button> <div class="result-search"></div> </form> Code php thêm vào file functions.php // ***Lấy link ajax mặc định của wordpress function link_ajax_template(){ ?> <script type="text/javascript" charset="utf-8" > url_ajax='<?=admin_url('admin-ajax.php'); ?>'; </script> <?php } add_action('wp_head','link_ajax_template'); //***Tạo functions load ajax add_action('wp_ajax_nopriv_load_search_results',array($this,'load_search_results')); add_action('wp_ajax_load_search_results',array($this,'load_search_results')); function load_search_results() { if(isset($_POST['keysearch'])): $query = addslashes(trim(strip_tags($_POST['keysearch']))); $args = array( 'post_type' => 'product', 's' => $query, 'post_status' => 'publish', 'orderby' => 'title', 'order' => 'ASC', 'showposts' => 4 ); $wp_query = new WP_Query($args); if ($wp_query->have_posts()): while ($wp_query->have_posts()): $wp_query->the_post(); $product=new WC_Product(get_the_ID()); ?> "/> ?> endwhile; endif; wp_reset_postdata(); endif; exit; } Code Javascript : jQuery(".form-search-box .text-search").keyup(function () { if (jQuery(this).val().length > 0) { jQuery.ajax({ type: 'post', url:url_ajax, data: { action: 'load_search_results', keysearch: jQuery(this).val() }, success: function (html) { jQuery(".result-search").html(html); }, error:function(){ jQuery(".result-search").empty(); } }); } else { jQuery(".result-search").empty(); } }); jQuery(".result-search").click(function(e){ e.stopPropagation(); }); jQuery(document).click(function(){ jQuery(".result-search").empty(); }); 0 0 đánh giá Đánh giá bài viết Please wait...