wordpress自定义主题搜索有数量但不显示任何结果

时间:2014-07-02 02:34:57

标签: php wordpress search

尽我所能围绕wordpress搜索过程和结果。 在这个阶段,我们已经在线阅读和研究了大约8个小时,并且几乎无处可去。

我有一个完全自定义的主题,由朋友为客户设计。我在页面顶部的导航栏中有一个搜索框,位于标题内。我希望用户能够随时从导航栏中的搜索框中搜索网站的内容。我发现很多例子都是在其他页面上完成的,尽管它们似乎经常使用现成的主题。

最终,我希望能够很好地理解search.php文件中的内容,并将其与searchform.php文件一起编辑,以便搜索框和结果与主题的其余部分统一显示。 / p>

目前我最接近任何功能的是包含一定数量的搜索结果,显示预期的匹配数量,但我仍然无法弄清楚如何显示结果。

我一直在梳理其他人的网页来源,每次点击我都可以google关于自定义或只是解释search.php文件,但我一直在寻找的是“阅读创建搜索页面”和“它必须是一个主题问题。“这不是有收获的信息。

我对“创建搜索页面”信息中所教授内容的理解是,它描述了创建自定义搜索页面的步骤,该页面可以超链接/永久链接到,但与wordpress中的默认搜索功能无关套件。实际上,我已经成功创建了一个自定义搜索页面,但它只是一个独立页面,与自定义搜索结果页面无关。要自定义默认搜索功能结果的外观,我了解必须编辑search.php文件。到目前为止,该文件中的“编辑内容”让我感到惊讶,但是现在我只想了解为什么我看到了正确的结果数量,但没有实际结果。

我的search.php文件如下所示:

<?php get_header(); ?>

THIS IS THE TOP OF SEARCH.PHP

    <section id="primary" class="content-area">
        <div id="content" class="site-content" role="main">

            <?php if ( have_posts() ) : ?>

            <header class="page-header">
                <h1 class="search-title">
                    <?php echo $wp_query->found_posts; ?> <?php _e( 'Search Results Found For', 'locale' ); ?>: "<?php the_search_query(); ?>"
                </h1>
            </header><!-- .page-header -->

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

                        /*
                         * Include the post format-specific template for the content. If you want to
                         * use this in a child theme, then include a file called called content-___.php
                         * (where ___ is the post format) and that will be used instead.
                         */
                        get_template_part( 'content', get_post_format() );

                    endwhile;
                    /*
                    // Previous/next post navigation.
                    twentyfourteen_paging_nav();*/

                else :
                    // If no content, include the "No posts found" template.
                    get_template_part( 'content', 'none' );

                endif;
            ?>

        </div><!-- #content -->
    </section><!-- #primary -->

THIS IS AFTER THE SECTION OF SEARCH.PHP

<?php
// get_sidebar( 'content' );
// get_sidebar();
get_footer();

*注意:CAPS中的注释是为了帮助我了解哪些内容来自哪里,因为我试图弄清楚这个谜题的每个内容是做什么的。

此外,twentyfourteen_paging_nav行被注释掉,因为它一直在向后吐出一个错误。原始的search.php来自名为“twentyfourteen”的(默认主题?)文件夹。我当前的文件夹名为“ewgi2014”但是,用twentyfourteen_paging_nav替换ewgi2014_paging_nav吐出相同的错误,我找不到有关该主题的更多有用信息。此外,当查看其他示例search.php文件时,我没有看到paging_nav调用,所以我尝试将其评论出来,并且能够至少避免错误,但我仍然不理解它。

搜索术语后页面上的示例输出,例如“program”是:

  找到8个搜索结果:“program”

......没有别的东西写出来。

我相信并不完全相关,但我的searchform.php看起来像这样:

<form role="search" method="get" class="search-form" action="<?php echo home_url( '/' ); ?>">
    <label>
        <input type="search" class="search-field" placeholder="search …" value="" name="s" title="Search for:" />
    </label>
    <input type="submit" class="search-submit" value="Search" />
</form>

我已经阅读并重新阅读了Codex中的“创建搜索页面”页面,因此很多时候我可能会刻意地背诵它,但是没有找到任何解决方案。

我已经阅读了关于"How to display Wordpress search results?"的stackoverflow,并尝试了ThemeShaper中的代码,但是在shape_content_nav行上引发了错误。

我读过this并且......显然我无法链接到我读过的所有其他内容,因为这是我的第一篇文章,但我一直在阅读,并且摆弄,而且进展甚微。

为啰嗦的帖子道歉。只是努力做到彻底,展示我的研究和当前的理解点。

1 个答案:

答案 0 :(得分:0)

如果你把

放了什么

the_title();

直接在while声明之后?

每次在while循环内循环,您都在处理每个帖子。目前,在每个循环中,您输入的是content-*.php文件,其中*取决于帖子格式。该文件存在吗?