¿Cómo puedo mover los resultados de búsqueda a una página específica?
Me preguntaba si es posible mostrar los resultados de búsqueda de WordPress en una página diferente.
En este momento se muestran en http://www.mysite.com/?s=searchterm
pero me gustaría mostrarlos en mi plantilla de página search-results, así: http://www.mysite.com/search/?s=searchterm
.
¿Es esto posible?
Cualquier ayuda es apreciada, S.

Creaste una página con el slug search
para "capturar" esa URL, pero WordPress por defecto ya utiliza esa URL para los resultados de búsqueda. Así que tuviste "suerte" de que esto funcionara para ti, y esta es la razón por la que el supermétodo de redirección mencionado funcionará.
Por lo tanto, en lugar de crear una página "falsa" para alojar la plantilla, simplemente deberías renombrar la plantilla a search.php
, como sugirió tnorthcutt. Si aún deseas tener contenido de la página definida en el área de administración, te sugiero que renombres esta página y la obtengas mediante get_posts()
u otro método, porque el loop principal contendrá los resultados de búsqueda, no esta página específica.

Recientemente tuve un problema similar donde los resultados de búsqueda iban a la raíz en lugar de la URL con el slug /blog/
donde realmente quería que se mostraran los resultados. Lo solucioné creando un archivo searchform.php
y simplemente escribiendo una plantilla de búsqueda personalizada:
<form role="search" method="get" id="searchform" action="<?php echo home_url( '/blog/' ); ?>">
<div>
<label class="screen-reader-text" for="s">Buscar:</label>
<input type="text" value="" name="s" id="s" />
<input type="submit" id="searchsubmit" value="Buscar" />
</div>
</form>
El secreto está en la parte <?php echo home_url( '/blog/' ); ?>
. Por defecto, WordPress redirigirá al directorio principal, así: <?php echo home_url( '/' ); ?>
. Así que todo lo que tienes que hacer es especificar en qué directorio quieres que se muestren los resultados de búsqueda. Si existe searchform.php
en tu tema, lo usará. Si no, usará el formulario predeterminado incluido en las funciones principales de WordPress.

Parece que solo necesitas renombrar tu página de plantilla. Intenta crear un archivo de plantilla search.php
: http://codex.wordpress.org/Theme_Development#Search_Results_.28search.php.29

Prueba este plugin (o lee el código fuente para ver cómo se hace la redirección - solo son unas pocas líneas de código).
