Bootstrap 3搜索框没有显示任何结果

时间:2014-01-02 08:59:18

标签: php twitter-bootstrap search search-box

我在我的Bootstrap 3网站上添加了一个搜索框,但是如果尝试搜索某些内容它没有提取任何结果,它只会刷新您所在的页面:

see this

<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(); ?>

3 个答案:

答案 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 );

告诉我们您将在屏幕上看到的错误 这可以帮助;)