06 agosto, 2013

[Solución] searchform.php no funciona después de actualizar a wordpress 3.6

Si al actualizar a wordpress 3.6 tu fichero searchform.php a dejado de funcionar comprueba si tu tema tiene en el fichero functions.php un filtro añadido para personalizar el formulario de búsqueda.

Por ejemplo el tema Yoko con el que estaba trabajando lo tiene y al actualizar a wp 3.6 dejó de funcionar searchform.php y empezó a usar el filtro con la personalización incluida en functions.php.

/**
 * Search form custom styling
 */
function yoko_search_form( $form ) {
    $form = '<form role="search" method="get" class="searchform" action="'.get_bloginfo('url').'" >
    <div><label class="screen-reader-text" for="s">' . __('') . '</label>
    <input type="text" class="search-input" value="' . get_search_query() . '" name="s" id="s" />
    <input type="submit" class="searchsubmit" value="'. esc_attr__('Search', 'yoko') .'" />
    </div>
    </form>';
    return $form;
}
add_filter( 'get_search_form', 'yoko_search_form' );

Con sólo eliminar, o comentar por si metemos la pata, lo anterior volvió a funcionar mi fichero searchform.php


Wordpress permite personalizar el formulario (cuadro) de búsqueda creando el fichero searchform.php que será utilizado en nuestro tema con

<?php get_search_form( ); ?>

en lugar del que viene por defecto.

La actualización de wp 3.6 parece dar prioridad al filtro contenido en functions.php por encima del fichero searchform.php.


También podemos incluir la personalización del searchform en functions.php y eliminar searchform.php

No hay comentarios: