Come posso spostare i risultati di ricerca su una pagina specifica?

21 feb 2011, 17:13:47
Visualizzazioni: 21K
Voti: 7

Mi chiedevo se fosse possibile visualizzare i risultati della ricerca WordPress su una pagina diversa?

Al momento vengono visualizzati su http://www.mysite.com/?s=terminedaricerca ma vorrei che fossero visualizzati sul mio template search-results, quindi http://www.mysite.com/search/?s=terminedaricerca.

È possibile?

Qualsiasi aiuto è apprezzato, grazie. S.

0
Tutte le risposte alla domanda 4
0

Hai creato una pagina con lo slug search per "catturare" quell'URL, ma WordPress di default utilizza già quell'URL per i risultati di ricerca. Quindi sei stato "fortunato" che questo abbia funzionato per te, ed è questo il motivo per cui il supermetodo di reindirizzamento menzionato funzionerà.

Quindi, invece di creare una pagina "fittizia" per contenere il template, dovresti semplicemente rinominare il template in search.php, come suggerito da tnorthcutt. Se vuoi ancora avere il contenuto dalla pagina definita nell'area di amministrazione, ti suggerisco di rinominare questa pagina e ottenerla tramite get_posts() o un altro metodo, perché il loop principale conterrà i risultati di ricerca, non questa pagina specifica.

22 feb 2011 10:19:08
0

Recentemente ho avuto un problema simile in cui i risultati della ricerca venivano indirizzati alla root anziché allo slug /blog/ dove volevo effettivamente visualizzare i risultati. L'ho risolto creando searchform.php e scrivendo semplicemente un template di ricerca personalizzato:

<form role="search" method="get" id="searchform" action="<?php echo home_url( '/blog/' ); ?>">
    <div>
        <label class="screen-reader-text" for="s">Cerca per:</label>
        <input type="text" value="" name="s" id="s" />
        <input type="submit" id="searchsubmit" value="Cerca" />
    </div>
</form>

Il segreto sta nel frammento <?php echo home_url( '/blog/' ); ?>. Di default WordPress risolverà alla directory home, così <?php echo home_url( '/' ); ?>. Quindi tutto quello che devi fare è specificare in quale directory vuoi che vengano visualizzati i risultati della ricerca. Se searchform.php esiste nel tuo tema, verrà utilizzato quello. Altrimenti utilizzerà il modulo predefinito incluso nelle funzioni core di WordPress.

27 nov 2012 01:50:59
0

Sembra che tu debba semplicemente rinominare la tua pagina template. Prova a creare un file template search.php: http://codex.wordpress.org/Theme_Development#Search_Results_.28search.php.29

21 feb 2011 17:18:07
0

Prova questo plugin (o leggi il codice sorgente per vedere come viene effettuato il reindirizzamento - sono solo poche righe di codice).

http://wordpress.org/extend/plugins/nice-search/

21 feb 2011 17:16:05