Cum pot muta rezultatele căutării pe o pagină specifică?
Mă întrebam dacă este posibil să afișez rezultatele căutării WordPress pe o pagină diferită?
În prezent, acestea sunt afișate la http://www.mysite.com/?s=searchterm
dar aș dori să fie afișate pe pagina mea template search-results, deci la http://www.mysite.com/search/?s=searchterm
.
Este posibil acest lucru?
Orice ajutor este apreciat, S.

Ați creat o pagină cu slug-ul search
pentru a "captura" acel URL, dar WordPress folosește implicit acel URL pentru rezultatele căutării. Deci ați avut "noroc" că acest lucru a funcționat pentru dvs., iar acesta este motivul pentru care metoda superioară de redirecționare menționată va funcționa.
Prin urmare, în loc să creați o pagină "falsă" pentru a ține șablonul, ar trebui pur și simplu să redenumiți șablonul în search.php
, așa cum a sugerat tnorthcutt. Dacă doriți totuși să aveți conținut din pagina definită în zona de administrare, vă sugerez să redenumiți această pagină și să o obțineți prin get_posts()
sau o altă metodă, deoarece bucla principală va conține rezultatele căutării, nu această pagină specifică.

Am avut o problemă similară recent unde rezultatele căutării mergeau la root în loc de slug-ul /blog/
unde voiam de fapt să fie afișate rezultatele. Am rezolvat-o creând searchform.php
și am scris un șablon personalizat pentru căutare:
<form role="search" method="get" id="searchform" action="<?php echo home_url( '/blog/' ); ?>">
<div>
<label class="screen-reader-text" for="s">Caută:</label>
<input type="text" value="" name="s" id="s" />
<input type="submit" id="searchsubmit" value="Caută" />
</div>
</form>
Secretul stă în partea <?php echo home_url( '/blog/' ); ?>
. În mod implicit WordPress va rezolva către directorul principal, astfel: <?php echo home_url( '/' ); ?>
. Deci tot ce trebuie să faci este să specifici în ce director vrei să fie afișate rezultatele căutării. Dacă searchform.php
există în tema ta, acesta va fi folosit. Dacă nu, se va folosi formularul implicit inclus în funcțiile de bază WordPress.

Se pare că ar trebui doar să redenumești pagina de șablon. Încearcă să creezi un fișier șablon search.php
: http://codex.wordpress.org/Theme_Development#Search_Results_.28search.php.29

Încearcă acest plugin (sau citește codul sursă pentru a vedea cum este realizată redirecționarea - sunt doar câteva linii de cod).
