WooFrance Dépannage et support WordPress WooCommerce Forums Forum de support WordPress WordPress – Modifier la requête de recherche pour inclure les produits

  • Ce sujet contient 1 réponse, 2 participants et a été mis à jour pour la dernière fois par WB2, le il y a 12 mois.
2 sujets de 1 à 2 (sur un total de 2)
  • Auteur
    Messages
  • #495684
    kil.weid
    Participant
    Points: 14 pts

    Bonjour,

    Je travaille sur un site WordPress avec une intégration de WooCommerce et j’ai besoin de personnaliser la fonctionnalité de recherche. Je souhaite modifier la requête de recherche pour inclure les produits ayant le terme de recherche spécifié dans leur titre, contenu, extrait, catégories ou étiquettes.

    J’ai essayé d’utiliser le hook « pre_get_posts » pour modifier la requête principale, mais je ne suis pas sûr de le faire correctement. Actuellement, la requête renvoie bien des produits mais qui possèdent seulement dans leur titre, ou leur contenu ou leur extrait la chaine de caractères saisi dans le formulaire de recherche. Est-ce que quelqu’un pourrait m’aider à inclure les catégories et les étiquettes de produits dans la recherche également?

    Voici ce que j’ai pour l’instant dans le fichier functions.php de mon thème enfant WordPress :

    function custom_search_products(WP_Query $query) {
        if (isset($_GET['search_products']) && $query->is_home()) {
            $searchValue = sanitize_text_field($_GET['search_products']);
            $query->set('post_type', 'product');
            $query->set('s', $searchValue);
            $tax_query = array(
                'relation' => 'OR',
                array(
                    'taxonomy' => 'product_tag',
                    'field' => 'name',
                    'terms' => $searchValue,
                    'operator' => 'LIKE',
                ),
                array(
                    'taxonomy' => 'product_cat',
                    'field' => 'name',
                    'terms' => $searchValue,
                    'operator' => 'LIKE',
                ),
            );
            $query->set('tax_query', $tax_query);
        }
        return $query;
    }
    add_action( 'pre_get_posts', 'custom_search_products' );
    

    Quelqu’un aurait il une idée de comment modifier mon code pour que cela fonctionne ?

    Merci d’avance

    depanagewp
    #495826
    WB2
    Modérateur
    Points: 3,388 pts
    Membre 2 étoiles

    Bonjour à vous, voici une solution assez facile à mettre en place :

    Comment améliorer son Moteur de recherche WordPress avec Relevanssi

    cordialement 🙂

    depanagewp
2 sujets de 1 à 2 (sur un total de 2)
  • Vous devez être connecté pour répondre à ce sujet.