如何覆盖默认的wordpress搜索模板并使用woocommerce存档产品.php模板



我有一个woocommerce网站,由于某种原因,产品搜索正在使用wordpress搜索显示结果.php。

如何覆盖默认的wordpress搜索模板并正常使用woocommerce存档产品.php模板。使用woocommerce产品搜索小部件。

我的主题中有woocommerce文件夹,其中包含存档产品.php,产品搜索表单.php

商店页面正在使用存档.php我希望搜索结果使用相同的模板。

表单标题中的代码

<div class="woo-search">
<?php if(is_active_sidebar('woo-search')){
dynamic_sidebar('woo-search');
} ?>
</div>

如何使用存档产品.php显示搜索结果?

你必须使用template_include过滤器。您必须将以下代码添加到活动主题的函数.php文件中。

回调函数检查正在搜索的帖子类型。如果是产品,请选择您想要的模板来列出搜索结果。

function template_chooser($template) {    
global $wp_query;   
$post_type = get_query_var('post_type');   
if( $wp_query->is_search && $post_type == 'products' )   
{
return locate_template('archive-product.php');  //  redirect to archive-product.php
}   
return $template;   
}
add_filter('template_include', 'template_chooser');

让我知道您的反馈。

最新更新