WordPress : Action de formulaire – URL personnalisée

Publié par Jean-Michel le

J’ai un formulaire de recherche dans mon thème wordpress. Je veux une URL personnalisée dans les résultats de recherche.

Mon code source :

<form method="get" id="searchform" action="<?php echo esc_url( home_url( '/' ) ); ?>">
<input type="text" name="s" id="s" onblur="if (value =='') {value = 'Search'}" onfocus="if (value == 'Search') {value =''}" value="Search" />
<input type="submit" class="submit" name="submit" id="searchsubmit" value="<?php esc_attr_e( '', 'themevb' ); ?>" />
</form>

Mon URL de recherche actuelle :

http://www.example.com/?s=keyword&submit=

J’ai besoin de cette URL :

http://www.example.com/web/keyword

Solution n°1 trouvée

La solution la plus simple consiste à mettre ce script en file d’attente ou simplement à le placer sous le formulaire de recherche, il naviguera vers une page de recherche personnalisée.

<script>
jQuery(function($){
    $( '#searchform' ).on( 'submit', function() {
        window.location = "http://www.example.com/web/" + encodeURIComponent( $(this).find( '#s' ).val() );
        return false;
    });
});
</script>

Ajoutez une règle de réécriture personnalisée, n’oubliez pas de vider les règles en visitant l’ settings->permalinksonglet dans la section admin.

add_rewrite_rule( 'web/(.+?)/?$','index.php?s=$matches[1]' );
Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *