¿Cómo cambiar la acción de búsqueda en la barra de búsqueda de wordpress?

showkey

Crea una nueva publicación y publícala.

El título es my test for search, el contenido es el siguiente:

no host route

Comprueba lo que sucede en la base de datos de WordPress.

 select post_title from wp_posts
     where post_content like "%no%"
       and post_content like "%route%"
       and post_content like "%to%"
       and post_content like "%host%";

La publicación nombrada my test for searchno estará en el resultado de la selección.
Escriba no route to hosten la barra de búsqueda de wordpress y haga clic en Intro. La publicación nombrada se my test for searchmuestra como resultado.

ingrese la descripción de la imagen aquí

Encontré la razón por la que la página web contiene to, en la esquina superior izquierda, hay una palabra Customizeque contiene la palabra buscada to.
¿Cómo cambiar dicha acción de búsqueda en la barra serach de wordpress?
Quiero hacer que el comportamiento de búsqueda en wordpress saerch bar, por ejemplo, cuando escribe no route to host, sea igual al siguiente comando sql.

select post_title from wp_posts where post_content like "%no%route%to%host%";

Todos los complementos en mi wordpress.

CodePen Embedded Pens Shortcode
Crayon Syntax Highlighter
Disable Google Fonts
Quotmarks Replacer
SyntaxHighlighter Evolved
Cameron Hurd

Existe esta adición a la cláusula SQL WHERE en wp-includes/class-wp-query.php:1306:

<?php
// wp-includes/class-wp-query.php:~1306

foreach ( $q['search_terms'] as $term ) {
    //...
    $like = $n . $wpdb->esc_like( $term ) . $n;
    $search .= $wpdb->prepare( "{$searchand}(({$wpdb->posts}.post_title $like_op %s) $andor_op ({$wpdb->posts}.post_excerpt $like_op %s) $andor_op ({$wpdb->posts}.post_content $like_op %s))", $like, $like, $like );
    // ...

Por lo tanto, me conectaría a pre_get_posts, y proporcionaría las palabras de la consulta como explícitas " search_terms", ya que se agregan a esa cláusula, con el LIKEmodificador tal como dijiste que estaban buscando.

Entonces, podríamos hacer algo como esto:

<?php
// functions.php

function fuzzify_query(\WP_Query $q) {
    if (true === $q->is_search()
        && true === property_exists($q, 'query')
        && true === key_exists('s', $q->query)
    ) {
        $original_query = $q->query['s'];
        $words          = explode(' ', $original_query);
        $fuzzy_words    = array_map(
            function($word) {
                return '%'.$word.'%';
            },
            $words
        );

        $q->query_vars['search_terms'] = $fuzzy_words;

        return $q;
    }

    return $q;
}

 add_action('pre_get_posts', 'fuzzify_query', 100); // Or whatever priority your fuzziness requires!

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

Cambiar la barra de búsqueda en wordpress

cómo cambiar el espacio con "-" en la entrada de la barra de búsqueda

Cómo cambiar el color del icono de búsqueda de la barra de búsqueda y cancelar el color del botón en formularios xamarin

Cómo cambiar la imagen del botón cancelar de la barra de búsqueda en formularios xamarin

La sugerencia en el widget de búsqueda dentro de la barra de acción no aparece

Cómo agregar la búsqueda a la barra de acción

La vista de búsqueda en la barra de acción no se expande completamente en Android

actualmente mi barra de búsqueda se muestra al final del menú (en el último li) ¿Cómo cambiar el orden de la barra de búsqueda en el menú personalizado de wordpress?

actualmente mi barra de búsqueda se muestra al final del menú (en el último li) ¿Cómo cambiar el orden de la barra de búsqueda en el menú personalizado de wordpress?

Fontawesome en la barra de búsqueda

Cómo mover el icono de búsqueda de la barra de búsqueda en el lado derecho de la barra de búsqueda en ionic 4

Cambiar la posición de una barra de búsqueda cuando se hace clic en ella

La barra de búsqueda desaparece al desplazarse, cómo evitar esta acción

Implementación de la barra de búsqueda en flutter

Cómo cambiar el atributo de acción de formulario para una barra de búsqueda

¿Cómo creo una barra de búsqueda redondeada en flutter que también muestre las búsquedas recientes de la barra de búsqueda?

Cómo centrar el cuadro de búsqueda en la barra de navegación

¿Cómo puedo cambiar la velocidad de flasheo directamente con la barra de búsqueda en la aplicación de Android?

¿Cómo mover un icono de búsqueda a la derecha de la barra de búsqueda en HTML?

Ejecutar búsqueda en API desde la barra de acción

¿Cómo puedo animar de izquierda a derecha la barra de búsqueda en un controlador de pantalla de búsqueda?

Activar la acción de búsqueda en mónaco sin panel de búsqueda

Cómo cambiar la fuente y el tamaño del marcador de posición de la barra de búsqueda en iOS13

Cómo cambiar la fuente y el tamaño del marcador de posición de la barra de búsqueda en iOS13

¿Cómo cambiar el enfoque de la barra de búsqueda al editor en Sublime Text 3?

¿Cómo cambiar el color de la barra de búsqueda?

¿Cómo deshabilitar la transición si hay palabras en una barra de búsqueda?

¿Cómo limitar la barra de búsqueda en función del tamaño del video?

¿Cómo coloco la barra de búsqueda UISearchController en la barra de navegación con código?