WordPress搜索表单问题|误导性搜索URL。|指向错误的URL

时间:2017-04-19 作者:The WP Intermediate

通常地

我们把<?php get_search_form(); ?> 在需要搜索表单的标题中,然后在searchform中放置HTML的自定义代码。php。

这就是全部HTML 从这里我试图创建一个HTML模板。

这是HTML的一部分

<li><input class="search" type="search" placeholder="Search"></li>
这应该转换成一个有效的wordpress搜索。

然而,我用CSS的类对整个表单进行了一些修改→

        <form action="/" method="get">
            <li>
                <input class="search" type="search" placeholder="Search" type="text" name="s" id="search" value="<?php the_search_query(); ?>">
            </li>
        </form>
THE PROBLEM →误导性搜索URL。假设我的搜索字符串为“ok“”

预期生成的搜索URL为→

right 但它会产生→

wrong.

Live WP Site here.

2 个回复
SO网友:ciaika

您可以在下面找到用于显示搜索结果页面的模板。将代码添加到search.php 文件如果已安装WP-PageNavi 如果搜索结果包含10个以上的项目,那么您将看到分页。

<?php
/**
 * The template for displaying Search Results pages.
*/
get_header();
?>

<h2><?php printf( __( \'Search Results for: %s\', \'themedomain\' ), \'<strong>"\' . get_search_query() . \'"</strong>\' ); ?></h2> <div class="posts"> <?php global $paged; $s = $_GET[\'s\']; $post_types = array(\'post\', \'page\'); $args=array( \'post_type\' => $post_types, \'post_status\' => \'publish\', \'s\' => $s, \'orderby\' => \'date\', \'order\' => \'desc\', \'posts_per_page\' => 10, \'paged\' => $paged ); $wp_query = new WP_Query($args); if ($wp_query->have_posts()) : while($wp_query->have_posts()) : $wp_query->the_post(); ?> <!-- post-box --> <article class="post-box"> <div class="meta"> <h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3> <p><?php _e(\'Posted by\',\'themedomain\');?> <?php if (!get_the_author_meta(\'first_name\') && !get_the_author_meta(\'last_name\')) { the_author_posts_link(); } else { echo \'<a href="\'.get_author_posts_url(get_the_author_meta(\'ID\')).\'">\'.get_the_author_meta(\'first_name\').\' \'.get_the_author_meta(\'last_name\').\'</a>\'; } ?> <?php _e(\'&middot; on\',\'themedomain\');?> <?php echo get_the_time(\'F d, Y\'); ?> <?php _e(\'&middot; in\',\'themedomain\');?> <?php the_category(\', \') ?> <?php _e(\'&middot; with\',\'themedomain\');?> <?php comments_popup_link(__(\'0 Comments\', \'themedomain\'),__(\'1 Comment\', \'themedomain\'), __(\'% Comments\', \'themedomain\')); ?></p> </div> <?php the_excerpt(); ?> <p><a href="<?php the_permalink(); ?>"><?php _e(\'Continue Reading &rarr;\',\'themedomain\'); ?></a></p> </article> <?php endwhile; endif; ?> </div> <!-- paging --> <div class="paging"> <ul> <?php if(function_exists(\'wp_pagenavi\')) { wp_pagenavi(); } ?> </ul> </div>
<;?php get\\u footer();?>

SO网友:ciaika

根据您的代码尝试此表单:

<form action="<?php echo esc_url(home_url()); ?>" method="get">
  <li>
    <input class="search" type="text" name="s" id="s" 
           placeholder="Search" value="<?php the_search_query(); ?>">
  </li>
</form>

相关推荐

Media searching ignored

我们的网站使用WordPress,有很多媒体文件。我们网站的媒体名称格式如下[Car brand\'s name]-[number].jpg, 例如Tesla-1.jpg 或Aston Martin-3.jpg. 因此,我们可以通过搜索文章的名称轻松找到文章的特定媒体。但突然间,我们找不到媒体。我们正在尝试搜索名称为的媒体,但搜索结果不变。(不搜索任何内容时的媒体屏幕)(搜索Aston Martin时的媒体屏幕)当然,在填充搜索文本框后,它会显示一个加载图标,但结果总是一样的。为什么会发生这种情况?更新+