如何显示Wordpress搜索结果?

2022-08-30 12:22:37

我花了很多时间弄清楚为什么我的搜索在我的自定义模板中不起作用。到目前为止,我能够弄清楚如何在我的标题中包含searchform.php文件,创建了search.php当前为空的文件(所以当我搜索某些东西时,我被重定向到空白页面,我认为我肯定需要一些东西来搜索.php文件来使其工作),我正在阅读Wordpress codex,但找不到解决方案, 我发现唯一有用的信息是这个。

http://codex.wordpress.org/Creating_a_Search_Page

您能建议需要做些什么才能显示搜索结果吗?是否有特殊查询,功能等?我真的在任何地方都找不到它。

我的搜索表单.php文件,以防万一你需要它。

<form action="<?php echo home_url(); ?>" id="search-form" method="get">
    <input type="text" name="s" id="s" value="type your search" onblur="if(this.value=='')this.value='type your search'"
    onfocus="if(this.value=='type your search')this.value=''" />
    <input type="hidden" value="submit" />
</form>

答案 1

您需要在搜索中包含Wordpress循环.php这是示例

搜索.php模板文件:

<?php get_header(); ?>
<?php
$s=get_search_query();
$args = array(
                's' =>$s
            );
    // The Query
$the_query = new WP_Query( $args );
if ( $the_query->have_posts() ) {
        _e("<h2 style='font-weight:bold;color:#000'>Search Results for: ".get_query_var('s')."</h2>");
        while ( $the_query->have_posts() ) {
           $the_query->the_post();
                 ?>
                    <li>
                        <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
                    </li>
                 <?php
        }
    }else{
?>
        <h2 style='font-weight:bold;color:#000'>Nothing Found</h2>
        <div class="alert alert-info">
          <p>Sorry, but nothing matched your search criteria. Please try again with some different keywords.</p>
        </div>
<?php } ?>

<?php get_sidebar(); ?>
<?php get_footer(); ?>

答案 2

基本上,您需要在搜索中包含Wordpress循环.php模板来循环浏览搜索结果并将其显示为模板的一部分。

下面是一个非常基本的例子,来自WordPress主题搜索模板和页面模板在主题Shaper。

<?php
/**
 * The template for displaying Search Results pages.
 *
 * @package Shape
 * @since Shape 1.0
 */

get_header(); ?>

        <section 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', 'shape' ), '<span>' . get_search_query() . '</span>' ); ?></h1>
                </header><!-- .page-header -->

                <?php shape_content_nav( 'nav-above' ); ?>

                <?php /* Start the Loop */ ?>
                <?php while ( have_posts() ) : the_post(); ?>

                    <?php get_template_part( 'content', 'search' ); ?>

                <?php endwhile; ?>

                <?php shape_content_nav( 'nav-below' ); ?>

            <?php else : ?>

                <?php get_template_part( 'no-results', 'search' ); ?>

            <?php endif; ?>

            </div><!-- #content .site-content -->
        </section><!-- #primary .content-area -->

<?php get_sidebar(); ?>
<?php get_footer(); ?>

推荐