描述
引入 searchform.php 文件来显示搜索表单。
用法
1 | <?php get_search_form( $echo ); ?> |
<?php get_search_form( $echo ); ?>
参数
- $echo
- (布尔值) (可选) 如果是 true 则输出表单; false 则返回表单的字符串。
- 默认: true
返回值
- (字符串string)
- 如果参数 $echo 设置为 false,就返回表单的HTML代码。
例子
如果你的主题没有 searchform.php, WordPress 将使用其内置的搜索表单:
1 2 3 4 5 6 | <form role="search" method="get" id="searchform" action="<?php echo home_url( '/' ); ?>"> <div><label class="screen-reader-text" for="s">Search for:</label> <input type="text" value="" name="s" id="s" /> <input type="submit" id="searchsubmit" value="Search" /> </div> </form> |
<form role="search" method="get" id="searchform" action="<?php echo home_url( '/' ); ?>"> <div><label class="screen-reader-text" for="s">Search for:</label> <input type="text" value="" name="s" id="s" /> <input type="submit" id="searchsubmit" value="Search" /> </div> </form>
如果你的主题没有 searchform.php ,将自动使用上面的代码替代。请记住,搜索表单需要一个 Get 方式(method="get" )到你博客的首页,而且文本输入框应该被命名为 s (name="s"),此外,还必须向上面的例子一样包含 alabel 。
一个自定义的 searchform.php 例子:
1 2 3 4 5 6 7 | <form action="/" method="get"> <fieldset> <label for="search">Search in <?php echo home_url( '/' ); ?></label> <input type="text" name="s" id="search" value="<?php the_search_query(); ?>" /> <input type="image" alt="Search" src="<?php bloginfo( 'template_url' ); ?>/images/search.png" /> </fieldset> </form> |
<form action="/" method="get"> <fieldset> <label for="search">Search in <?php echo home_url( '/' ); ?></label> <input type="text" name="s" id="search" value="<?php the_search_query(); ?>" /> <input type="image" alt="Search" src="<?php bloginfo( 'template_url' ); ?>/images/search.png" /> </fieldset> </form>
最后一个选项是写一个自定义的函数(在你的 functions.php 文件中)和通过钩子挂载这个函数到 theget_search_form 这个动作钩子。
1 2 3 4 5 6 7 8 9 10 11 12 13 | function my_search_form( $form ) { $form = '<form role="search" method="get" id="searchform" action="' . home_url( '/' ) . '" > <div><label class="screen-reader-text" for="s">' . __('Search for:') . '</label> <input type="text" value="' . get_search_query() . '" name="s" id="s" /> <input type="submit" id="searchsubmit" value="'. esc_attr__('Search') .'" /> </div> </form>'; return $form; } add_filter( 'get_search_form', 'my_search_form' ); |
function my_search_form( $form ) { $form = '<form role="search" method="get" id="searchform" action="' . home_url( '/' ) . '" > <div><label class="screen-reader-text" for="s">' . __('Search for:') . '</label> <input type="text" value="' . get_search_query() . '" name="s" id="s" /> <input type="submit" id="searchsubmit" value="'. esc_attr__('Search') .'" /> </div> </form>'; return $form; } add_filter( 'get_search_form', 'my_search_form' );
注释
searchform.php 存在时,$echo 参数将被忽略。一个解决办法是使用 get_search_form 过滤器(filter)来使表单通过 get_search_form() 。(A workaround is to pass the form to get_search_form() through the get_search_form filter.)
所在文件
get_search_form() 包含在 wp-includes/general-template.php.
相关函数
get_header(), get_footer(), get_sidebar(), get_template_part(), comments_template()
以上就是WordPress函数:get_search_form(获取搜索表单)。现在理想已破碎,心理充满不甘和悔恨,好想把一切归零重新选一次,面对众人的不理解与嘲讽,好想去一个谁也不认识我的地方重新开始。更多关于WordPress函数:get_search_form(获取搜索表单)请关注haodaima.com其它相关文章!