SearchWP Documentation

Consultez le guide d’installation, parcourez la base de connaissances, découvrez les nombreux hooks de SearchWP

searchwp_live_search_results_entry_data

Depuis : 4.0.0

Table des matières

Ce hook de filtre vous permet de personnaliser les données de chaque entrée de résultat SearchWP avant qu'elle ne soit rendue dans le modèle de résultats de recherche instantanée SearchWP.

Il est spécifiquement destiné à la sortie de la recherche instantanée et permet aux développeurs de modifier les propriétés du résultat telles que le titre, le permalien, le balisage de l'image et le contenu de l'extrait. 

Paramètres

Type Paramètre Défaut Depuis
Tableau $data
Clé Type Valeur
id Entier ID de l'entrée, par exemple l'ID du post, l'ID du terme ou l'ID de l'utilisateur, etc.
type Chaîne Type d'entrée, par exemple le nom du type de post comme 'post', 'page', 'product', etc., 'user' ou 'taxonomy-term.
title Chaîne Titre de l'entrée
permalink Chaîne URL de l'entrée
image_html Chaîne Élément d'image de l'entrée
content Chaîne Extrait de l'entrée
4.0.0
Object $result L'objet d'entrée de résultat SearchWP 4.0.0

Exemples

All hooks should be added to your custom SearchWP Customizations Plugin.

Inclure le SKU du produit dans le contenu des résultats de recherche instantanée

Cet exemple ajoute le SKU du produit WooCommerce au contenu du résultat lorsque l'entrée est un produit.

<?php
add_filter( 'searchwp_live_search_results_entry_data', function( $data, $result ) {
if ( $result instanceof \WP_Post && $result->post_type === 'product' ) {
$sku = get_post_meta( $result->ID, '_sku', true );
if ( ! empty( $sku ) ) {
$data['content'] .= '<p><strong>SKU:</strong> ' . esc_html( $sku ) . '</p>';
}
}
return $data;
}, 20, 2 );

Comment utiliser ce code

Mettre à jour les résultats des pièces jointes multimédias pour qu'ils renvoient à leur post parent

Par défaut, les pièces jointes multimédias peuvent renvoyer à leur page de pièce jointe. Cet exemple met à jour le permalien afin que les résultats de recherche instantanée pour les posts multimédias pointent vers l'URL de leur post parent à la place.

 

<?php
add_filter( 'searchwp_live_search_results_entry_data', function( $data, $result ) {
if ( $result instanceof \WP_Post && $result->post_type === 'attachment' ) {
$parent_id = wp_get_post_parent_id( $result->ID );
if ( $parent_id ) {
$data['permalink'] = get_permalink( $parent_id );
}
}
return $data;
}, 20, 2 );

Comment utiliser ce code