我在我的Bootstrap 3网站上添加了一个搜索框,但是如果尝试搜索某些内容它没有提取任何结果,它只会刷新您所在的页面:
<form class="navbar-form" role="search">
<div class="form-group">
<input type="text" class="form-control" placeholder="Search">
</div>
<button type="submit" class="btn btn-default"><i class="glyphicon glyphicon-search"></i></button>
</form>
我以为是因为我没有search.php文件,但是一旦添加它我仍然会遇到同样的问题。
的search.php
<?php
/**
* The template for displaying Search Results pages
*
* @package WordPress
* @subpackage Wp_Bootstrap
* @since Wp Bootstrap 1.0
*/
get_header(); ?>
<div id="primary" class="content-area">
<div id="content" class="site-content" role="main">
<?php if ( have_posts() ) : ?>
<header class="page-header">
<h1 class="page-title"><?php printf( __( 'Search Results for: %s', 'wpbootstrap' ), get_search_query() ); ?></h1>
</header>
<?php /* The loop */ ?>
<?php while ( have_posts() ) : the_post(); ?>
<?php get_template_part( 'content', get_post_format() ); ?>
<?php endwhile; ?>
<?php wpbootstrap_paging_nav(); ?>
<?php else : ?>
<?php get_template_part( 'content', 'none' ); ?>
<?php endif; ?>
</div><!-- #content -->
</div><!-- #primary -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>
答案 0 :(得分:1)
您的表单<form class="navbar-form" role="search">
标记未包含操作,您需要为输入文本命名
<form class="navbar-form" role="search" action="<?php esc_url( site_url() ) ?>" method="get">
<div class="form-group">
<input name="s" type="text" class="form-control" placeholder="Search">
</div>
<button type="submit" class="btn btn-default"><i class="glyphicon glyphicon-search"></i></button>
</form>
答案 1 :(得分:1)
此代码可能适合您
<form class="navbar-form navbar-right" role="search" action="search.php" method="get">
<div class="form-group">
<input type="text" name="s" value="<?php $_GET['s']; ?>" class="form-control" placeholder="search...">
</div>
<button type="submit" class="btn btn-success"><span class="glyphicon glyphicon-search"></span></button>
</form>
了解
在参数操作中,您需要输入文件的路径 search.php
在输入类型上,您需要添加参数名称这是您用于搜索的参数 s
接下来,您需要添加value参数并添加此<?php $_GET['s']; ?>
您已完成,请测试此代码,并告诉您这是否适用。
尝试使用更新的代码
<form class="navbar-form navbar-right" role="search" action="<?php bloginfo('url'); ?>/" method="get">
<div class="form-group">
<input type="text" name="s" value="<?php $_GET['s']; ?>" class="form-control" placeholder="<?php _e('Search', 'wpbootstrap'); ?>">
</div>
<button type="submit" class="btn btn-success"><span class="glyphicon glyphicon-search"></span></button>
</form>
答案 2 :(得分:0)
我在这里分享个人经历。
请注意我在这里分享的代码还没有为你的主题做好准备,因为你应该[至少]改变文本域
minimax3
到
your_text_domain
如果您将搜索表单设置为如下所示,搜索表单将起作用:
<form class="navbar-form navbar-right" role="search" action="<?php bloginfo('url'); ?>/" method="get">
<div class="form-group">
<input name="s" type="text" class="form-control" placeholder="<?php _e('Search', 'minimax3'); ?>">
</div>
<button type="submit" class="btn btn-default"><i class="glyphicon glyphicon-search"></i></button>
</form>
请注意,无需添加value参数作为此
<?php $_GET['s']; ?>
请注意,我的主题根文件夹中有一个search.php:
<?php get_header(); ?>
<div class="container">
<div class="row">
<div id="primary" class="col-lg-9 col-md-9">
<div id="content" class="site-content" role="main">
<?php if ( have_posts() ) : ?>
<header class="page-header">
<h1 class="page-title"><?php printf( __( 'Search Results for: %s', 'minimax3' ), '<span>' . get_search_query() . '</span>' ); ?></h1>
</header><!-- .page-header -->
<?php minimax3_content_nav( 'nav-above' ); ?>
<!--Start the Loop-->
<?php while ( have_posts() ) : the_post(); ?>
<?php get_template_part( 'content', 'search' ); ?>
<?php endwhile; ?>
<?php minimax3_content_nav( 'nav-below' ); ?>
<br>
<!--Inlcude the search form at the bottom-->
<div class="container">
<div class="row">
<div id="primary" class="col-lg-9 col-md-9">
<h3><?php _e( 'Not what you were looking for?', 'minimax3' ); ?></h3>
<p><?php _e( 'Refine your search below!', 'minimax3' ); ?></p>
<?php get_search_form(); ?>
</div>
</div>
</div>
<!--If no results-->
<?php else : ?>
<?php get_template_part( 'no-results', 'search' ); ?>
<?php endif; ?>
</div><!-- #content .site-content -->
</section><!-- #primary .content-area -->
<?php get_footer(); ?>
如果你仍然得到白页&#34; (WPOD)您可能需要在wp-config.php中打开WP Debug Constante谎言:
define( 'WP_DEBUG', true );
告诉我们您将在屏幕上看到的错误 这可以帮助;)