2016-10-26 66 views
0

当我从根或店铺页面的东西,例如狐狸 “食物”,它返回通常与URLWordpress搜索从页面返回404?

site.com?s=food

或店铺结果搜索:

site.com/shop/?s=food

,但是当我从接触或其他一些网页搜索它,我得到404第二网址:

site.com/contact/?s=food

我想在第二种情况下重定向到的第一根,这样当有人搜索从接触页面,我想

site.com?s=food

这是一些自定义模板,因此默认搜索可能无法正常工作。

+0

它看起来像你搜索没有正确实施 - 它应该始终发送搜索结果到根页面。显示您的搜索表单模板文件。 – Shiv

+0

@Shiv 问题是我现在无法访问文件。内部searchform.php和product-searchform.php是在动作home_url('/')中定义的。 – DocNet

+0

如果你认为它在functions.php中,那么你遇到了更大的问题 - 雇用一个知道他们在做什么的人。 – Shiv

回答

1

在您的搜索表单中,您需要将表单元素的action属性设置为主页URL。类似的东西:

<form role="search" method="get" class="search-form" action="<?php echo home_url('/'); ?>"> 

你也可以看看get_search_form()的代码参考。 https://developer.wordpress.org/reference/functions/get_search_form/

+0

这个自定义主题有searchform.php和product-searchform.php,我认为第二个被定义为主要的,因为当我更改product-searchform.php中对我的搜索设计有影响的内容时。但是,当我将行为更改为诸如www.google.com之类的行为时,它会再次加载/ contact /?s = x。它看起来像在某个地方在functions.php或其他地方是在搜索后定义重定向?当我尝试添加自己的重定向时,它说ERR_TOO_MANY_REDIRECTS。 – DocNet

+1

product-searchform.php通常由WooCommerce使用。从主题中移除此文件将允许Woocommerce恢复为可能对您的测试有用的文件的默认版本。很难说出为什么你的网站按照你描述的方式行事而不能看到代码。 WooCommerce搜索使用woocommerce_product_search()包含在模板中:https://docs.woocommerce.com/document/woocommerce-product-search/api/ – neil

+0

@Nell谢谢,我明天会检查它。 – DocNet