尽我所能围绕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并且......显然我无法链接到我读过的所有其他内容,因为这是我的第一篇文章,但我一直在阅读,并且摆弄,而且进展甚微。
为啰嗦的帖子道歉。只是努力做到彻底,展示我的研究和当前的理解点。
答案 0 :(得分:0)
如果你把
放了什么 the_title();
直接在while
声明之后?
每次在while
循环内循环,您都在处理每个帖子。目前,在每个循环中,您输入的是content-*.php
文件,其中*取决于帖子格式。该文件存在吗?