Wordpress-在自定义页面上进行自定义搜索,同时保留标准搜索功能。
大家好,
我想在主搜索功能顶部的自定义页面上创建自定义搜索。另外一个应该只关注产品。
搜索产品。php
$product_type = $_GET[\'post_type\'];
$args = array(
\'post_type\' => $product_type,
\'posts_per_page\' => -1
);
$the_query = new WP_Query($args);
/* Start the Loop */
while ($the_query -> have_posts() ) : $the_query -> the_post(); ?>
<h5><?php the_title(); ?></h5>
<?php endwhile; wp_reset_query(); ?>
形式:
<form role="search" method="get" class="search-form" action="<?php echo esc_url(home_url(\'/search-products/\')); ?>">
<div class="row align-items-center">
<input type="hidden" name="post_type" value="product">
<input type="text" name="productname" value="" autocomplete="off" placeholder="Product Name..." class="searchForm form-control">
<button type="submit" class="btn btn-primary">Szukaj</button>
</div>
</form>
当我在php文件中定义post类型时,它会按预期显示查询。但我希望能够使用URL说明修改此页面上的查询,但是如果我执行以下操作:
http://localhost/wordpress/search-product/?post_type=productWP使用不同的模板返回“未找到页面”页面。我相信这是默认的“搜索”模板。
现在我知道我可以/应该修改搜索。php文件来完成整个工作,但是,我不想修改主搜索。php(主查询?)。
我想保存主要的搜索功能,并在其上有另一个自定义功能。
我还使用了template\\u include函数作为过滤器-但是这会返回一个页面,该页面在视觉上与我期望的一致,但是标题仍然是“未找到页面”。
我还尝试使用“pre\\u get\\u posts”挂钩,但也没有成功。
我花了很多时间在这个页面上寻找解决方案,但所有的答案都包括修改标准搜索。php文件,但如前所述,我不想修改主搜索模板。
谢谢