web-dev-qa-db-fra.com

Avoir un modèle de résultats de recherche différent en fonction du type de message personnalisé recherché

J'ai un site avec différents types de messages personnalisés, j'ai deux "pages d'index" pour chacun d'eux (où j'interroge les messages et les émissions) et j'inclus également un formulaire de recherche sur les deux. Le problème est donc que les formulaires de recherche vont par défaut au modèle search.php, pour filtrer la recherche et afficher les résultats uniquement pour ce type de publication personnalisé, j'utilise un champ masqué dans le formulaire:

<input type="hidden" name="post_type" value="staff" />

mais ensuite, lors de la recherche, j'aimerais fournir un lien "retour" pour permettre à l'utilisateur de revenir à la page d'index, le problème est que je ne peux pas trouver une instruction if qui fonctionne pour afficher différents liens "retour vers". en fonction du type de message personnalisé recherché.

Exemple: si je recherche des nouvelles, j'aimerais revenir au bouton index de nouvelles. Si la recherche est sur Personnel, le bouton affiché doit être de retour sur index personnel.

J'apprécie toute aide les gars!
Merci!
Juan.

4
Jaypee

Alors j'ai trouvé la solution, je le laisse ici si quelqu'un a besoin de quelque chose comme ça à l'avenir.

Sur votre formulaire de recherche, ajoutez un champ caché:

<input type="hidden" name="post_type" value="post_type_name" />

Ensuite, dans votre fichier search.php, ajoutez les éléments suivants DANS la boucle:

    <?php
    if(isset($_GET['post_type'])) {
        $type = $_GET['post_type'];
        if($type == 'post_type_name_1') {?>
        <!--Your Code for this post_type-->         
        <?php    
        } elseif($type == 'post_type_name_2') {?>
             <!--Your Code for this post_type-->
        <?php }
    }
    ?>

Meilleur!

8
Jaypee