Wie suche ich mit Ajax nach exakten Phrasen oder Wörtern in einem Eingabefeld?

Ich habe das verfolgt und es funktioniert fast perfekt, aber es ist nicht nur das Finden der Titel Beiträge mit den gleichen Worten, wie wir im Eingabefeld schreiben, sondern es findet ALLE Beiträge unabhängig.

HTML

 

AJAX

 add_action( 'wp_footer', 'ajax_fetch' ); function ajax_fetch() { ?>  function fetch(){ console.log(jQuery('#usp-title').val()); jQuery.ajax({ url: '', type: 'post', data: { action: 'data_fetch', exactwords: jQuery('#usp-title').val() }, success: function(data) { var text1; var text1B; var text2; var text2B; jQuery("#datafetch").html(data).promise().done(function(){ text1 = jQuery("#datafetch").find("h2").find("a").html(); text1B = text1.toLowerCase(); text2 = jQuery('#usp-title').val(); text2B = text2.toLowerCase(); console.log(text1B); console.log(text2B); if (text1B != text2B) { jQuery("#componi").removeAttr("disabled", "disabled").show(); jQuery("#fatto").hide(); //jQuery('#datafetch').empty(); } else if (text1B == text2B) { jQuery("#componi").attr("disabled", "disabled").hide(); } }); } }); }  

PHP

 add_action('wp_ajax_data_fetch' , 'data_fetch'); add_action('wp_ajax_nopriv_data_fetch','data_fetch'); function data_fetch(){ $the_query = new WP_Query( array( 'posts_per_page' => 1, 's' => esc_attr( $_POST['usp-title'] ), 'post_type' => 'post' ) ); if( $the_query->have_posts() ) : ?> 

Abbiamo trovato già delle lezioni con lo stesso titolo,
usa una di questa o scrivi un titolo diverso.

    have_posts() ): $the_query->the_post(); ?>
  • <a target="_blank" href="https://wordpress.stackexchange.com/questions/263028/how-to-search-using-ajax-for-exact-phrase-or-words-in-an-input-field/">

    Spazio:

    Tempo:

<?php endif; die(); }

Wie kann ich die Ergebnisse auf nur die mit dem gleichen Titel wie im Eingabefeld beschränken?

Solutions Collecting From Web of "Wie suche ich mit Ajax nach exakten Phrasen oder Wörtern in einem Eingabefeld?"

Dies ist eher ein Hack, aber ich konnte keinen anderen Weg finden, probierte exact= "true" und sentence="true" als Parameter in der Abfrage, aber trotzdem hatte ich alle Ergebnisse, nicht nur die exakt passende. Da ich nun die Ergebnisse als list , mache ich eine Überprüfung im DOM und entferne alles, was nicht genau mit der .val()

 function fetch(){ jQuery.ajax({ url: '< ?php echo admin_url('admin-ajax.php'); ?>', type: 'post', data: { action: 'data_fetch', exactwords: jQuery('#usp-title').val() }, success: function(data) { var text2; var text2B; text2 = jQuery('#usp-title').val(); text2B = text2.toLowerCase(); jQuery("#datafetch").html(data).promise().done(function(){ jQuery("#datafetch ul li h2 a").each(function() { var $this = jQuery(this); if ($this.text().toLowerCase() !== text2B) { $this.parent().parent().remove(); jQuery(".jumbotron").remove(); jQuery("#componi").removeAttr("disabled", "disabled").show(); } else if ($this.text().toLowerCase() == text2B) { jQuery("#componi").attr("disabled", "disabled").hide(); } }); }); } }); }