-
-
Save bramchi/d0767c32a772550486ea to your computer and use it in GitHub Desktop.
| <?php | |
| /* | |
| * | |
| * Roots.io searchform.php template hack to fix Polylang search | |
| * | |
| * Note: Polylang setting 'Hide URL language info for default language' should be enabled for this to work. | |
| * Soil-nice-search disabled in Roots. | |
| * | |
| */ | |
| if(function_exists('pll_current_language')){ | |
| $current_language = pll_current_language(); | |
| $default_language = pll_default_language(); | |
| if($current_language != $default_language){ | |
| $language_subdir = $current_language.'/'; | |
| } else { | |
| $language_subdir = ''; | |
| } | |
| } | |
| ?> | |
| <form role="search" method="get" class="search-form form-inline" action="<?php echo esc_url(home_url('/'.$language_subdir)); ?>"> | |
| <label class="sr-only"><?php _e('Search for:', 'roots'); ?></label> | |
| <div class="input-group"> | |
| <input type="search" value="<?php echo get_search_query(); ?>" name="s" class="search-field form-control" placeholder="<?php _e('Search', 'roots'); ?> <?php bloginfo('name'); ?>"> | |
| <span class="input-group-btn"> | |
| <button type="submit" class="search-submit btn btn-default"><?php _e('Search', 'roots'); ?></button> | |
| </span> | |
| </div> | |
| </form> |
Just great! Even after many years, it's working!
This should be integrated somewhere as a standard option in Polylang. :)
Thank you so much for this helpfully hook.
I just stumbled upon this.
@AlainMelsens, this is actually integrated in polylang since more than 5 years. See the source code here: https://github.com/polylang/polylang/blame/3e4551ef00acce48e2f8199541b46fb72dcf4b34/include/links.php#L53-L56
You can use it like this: PLL()->links->get_home_url(NULL, TRUE). The second argument/parameter is to tell if the URL is for the search form or not.
Just wanted to point out, your checking if a function exists (good) then setting a variable.
Then you use $language_subdir without checking if it exists, in the case of the function check failing this would be null and depending on your config throw an error.
Thank you!