Suche nach Tag, Kategorie und Autor ohne Plugin

Ich erstelle eine Website mit Suchfunktion. Ich frage mich, was ich tun soll, damit das Suchfeld funktioniert wie search everything . Der Suchbegriff, den der Besucher eingefügt hat, kann den Tag-Namen des Beitrags, die Kategorie des Beitrags, den Inhalt des Beitrags oder den Titel des Beitrags enthalten. Solange ein Wort innerhalb des Suchbegriffs steht, wird das Ergebnis angezeigt. Ich werde kein Plugin verwenden oder meinem Suchformular einen Radio-Button hinzufügen. Ich habe versucht herumzusuchen, bin aber gescheitert. Irgendwelche Vorschläge und Lösungen?

      'publish', 'posts_per_page' => '5', 's' => get_search_query() ) ); $q2 = get_posts(array( 'post_status' => 'publish', 'posts_per_page' => '5', 'tax_query' => array( //your query ) ) ); $merged = array_merge($q1, $q2); ?> 


You have searched for "". We found post_count; $text = ''; if ( $allsearch->found_posts found_posts <= 1 ) { $text .= sprintf(__( '%d related company' ), $count ); } else { $text .= sprintf(__( '%d related companies' ), $count ); } $text .= ''; echo $text; ?> with the keyword you searched for. If the results are not what you expected, we suggest you to try for different keywords which related to the company.

Keywords : found_posts; $text = ''; if ( $count <= 0 ) { $text .= sprintf(__( '( no company )' ), $count ); } elseif ( $count <= 1 ) { $text .= sprintf(__( '( %d company )' ), $count ); } else { $text .= sprintf(__( '( %d companies )' ), $count ); } $text .= ''; echo $text; ?>

<div class="ncc ID) new sponsored" title="Our Advertiser">

<a href="https://wordpress.stackexchange.com/questions/255625/search-by-tag-category-and-author-without-plugin/" title="">

| ID) | Published

<!--ncc -->

post_count; $text = ''; if ( $allsearch->found_posts found_posts <= 1 ) { $text .= sprintf(__( '( We found %d company )' ), $count ); } else { $text .= sprintf(__( '( We found %d companies )' ), $count ); } $text .= ''; echo $text; ?>

Your search - "" - did not match any documents. Possibly, there is no company listed with this keyword. Or, the inserted keyword was wrong in spelling?

Suggestions:

  • Make sure all words are spelled correctly.
  • Try different keywords.
  • Try more general keywords.

Solutions Collecting From Web of "Suche nach Tag, Kategorie und Autor ohne Plugin"

Ich kann mir zwei Möglichkeiten vorstellen:

  1. Mehrere WP_Queries , jeweils für normale Suche, Taxonomien und Meta. Und füge die Ergebnisse zusammen, die du von jedem bekommst.

ODER

  1. Eine WPDB Abfrage mit einer join zwischen _post , _postmeta , _terms (und allen mit terms _terms Tabellen).

Obwohl ich die erste Methode bevorzuge, ist es Ihre Wahl, was Sie wollen und welche performance Sie erwarten, im Hinblick auf Ressourcen und Geschwindigkeit.

Bearbeiten:

 $q1 = get_posts(array( 'post_status' => 'publish', 'posts_per_page' => '-1', 's' => get_search_query() ) ); $q2 = get_posts(array( 'post_status' => 'publish', 'posts_per_page' => '-1', 'tax_query' => array( //your query ) ) ); $merged = array_merge($q1, $q2); 

Nicht exakte Abfrage, sondern nur um Ihnen eine Idee zu geben. Bitte überprüfen Sie Syntaxerrors, da ich es nicht getestet habe.

 $query = new WP_Query( array(
'post_type' => 'post',
'author' => 'author-id or user_nicename',
'tax_query' => array(
'relation' => 'OR',
array(
'taxonomy' => 'category',
'field' => 'slug',
'terms' => array( 'edge-case-1', 'edge-case-2' ),
),
array(
'taxonomy' => 'post_tag',
'field' => 'term_id',
'terms' => array( 66, 67 ),
),
),
) );
if ( $query->have_posts() ) {
while ( $query->have_posts() ) {
$query->the_post();
the_title();
the_content();
}
wp_reset_postdata();
}

Für den Autor können Sie entweder die Autor-ID oder den UserNicename des Autors übergeben. Und in Tax_query Parameter für ‘Feld’ können Sie entweder ‘term_id’ oder ‘slug’ und ‘terms’ hängt davon ab, was Sie übergeben ‘Feld’ Parameter wie oben gezeigt. In “Termen” kann Array oder einzelne Variable übergeben werden. enter code here