Форма поиска не показывает правильные результаты - PullRequest
0 голосов
/ 11 декабря 2011

Что не так с моей формой поиска на этом сайте? Когда я что-то ищу, отображаются все сообщения, а не только те, которые соответствуют критериям поиска.

Это код формы поиска:

<?php $search_text = "search"; ?>

<form method="get" id="search-bg"  action="<?php bloginfo('home'); ?>/"> 

<input type="text" value="<?php echo $search_text; ?>"  
    name="st" id="search-form"  
    onblur="javascript: if( this.value != 'search') { this.value = 'search'; this.style.color = '#888888'; }"  
    onclick="javascript: if( this.value == 'search') { this.value = ''; this.style.color = '#000000'; }"
    ) 
    {this.value = '';}" />
<input type="hidden" id="searchsubmit" />

</form>

Кроме того, если я скопирую приведенный выше код в search-form.php и заменим его на <?php search-form(); ?> или <?php get_search_form( $echo ); ?> в sidebar.php, будет ли он работать так же?

Ответы [ 2 ]

1 голос
/ 11 декабря 2011

Попробуйте использовать значения идентификатора по умолчанию. Я не знаю, если это ваша проблема, но это может быть:

<?php $search_text = "search"; ?>

<form method="get" id="searchform"  action="<?php bloginfo('home'); ?>/"> 

<input id="s" type="text" value="<?php echo $search_text; ?>"  
    name="st" id="search-form"  
    onblur="javascript: if( this.value != 'search') { this.value = 'search'; this.style.color = '#888888'; }"  
    onclick="javascript: if( this.value == 'search') { this.value = ''; this.style.color = '#000000'; }"
    ) 
    {this.value = '';}" />
<input type="hidden" id="searchsubmit" />

</form>
0 голосов
/ 11 декабря 2011

ОК, вот что не так:

, поскольку я только что скопировал шаблон моей домашней страницы в search.php, в нем есть следующий код:

<?php query_posts( array(
  'posts_per_page' => 16,
  'paged' => ( get_query_var('paged') ? get_query_var('paged') : 1 )).'&order=ASC');?>

, поэтому поиск не сработал. После того, как я его удалил, он работал безупречно.

Итак, это мои последние коды:

sidebar.php:

<aside>

<a href="http://facebook.com/username" id="facebook"></a>
<a href="http://twitter.com/IndiaTheFall" id="twitter"></a>


<?php get_search_form( $echo ); ?>


<div id="categories">
    <div id="categories-title"><h6><a href="/categories">Categories</a></h6></div>

    <ul><h11><?php wp_list_categories('title_li='); ?></h11></ul>

</div>

 <?php if (function_exists('dynamic_sidebar') && dynamic_sidebar('Sidebar Widgets')) : else : ?>

 <!-- All this stuff in here only shows up if you DON'T have any widgets active in this zone -->

<?php endif; ?>

</aside>

searchform.php:

    <?php $search_text = "search"; ?>

<form method="get" id="searchform" action="<?php echo esc_url( home_url( '/' ) ); ?>">

    <input type="text" value="<?php echo $search_text; ?>"  
    name="s" id="search-form"  
    onblur="javascript: if( this.value != 'search') { this.value = 'search'; this.style.color = '#888888'; }"  
    onclick="javascript: if( this.value == 'search') { this.value = ''; this.style.color = '#000000'; }"
    ) 
    {this.value = '';}" />
        <input type="hidden" id="searchsubmit" />

</form>

search.php:

<?php get_header(); ?>

<nav>
    <?php wp_nav_menu(array('menu' => 'Main Nav Menu')); ?>
                    </nav>

<div id="main-content-archive">

<h85 class="inner_text_shadow"><?php printf( __( 'Search Results for: %s' ), '<span>' . get_search_query() . '</span>' ); ?></h85>

<div id="clear-box">

    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>

<div <?php post_class() ?> id="post-<?php the_ID(); ?>"> 

<?php    $bg_image = post_thumb( get_the_post_thumbnail() );?>  

<a href="<?php the_permalink() ?>"><div class="post-bg" style="background: #777777 url(<?php echo $bg_image;?>);">

        <div id="title-bg">
            <div class="transparency"></div>
            <div class="title"><h10><?php the_title(); ?></h10></div>
        </div>

</div></a>  <!-- END post-bg -->

</div>

<?php endwhile; ?>

<?php else : ?>

    <h2>No posts meet your criteria.</h2>

<?php endif; ?> 

</div> <!-- END post_class function -->


<div id="nav"><h12><?php include (TEMPLATEPATH . '/inc/nav.php' ); ?></h12></div>

</div> <!-- END main-content -->

<?php get_sidebar(); ?>

<?php get_footer(); ?>

И это все ... Теперь все отлично работает! Спасибо за вашу помощь ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...