这是一个重复这个问题,因为我能得到更快的答案。
开箱即用,WP eCommerce不支持元搜索。这是一个大问题,如果你在网上销售书籍,并需要客户能够通过最重要的元标签,作者!
有人能告诉我如何包括元信息搜索,还是有一个更好的插件,不需要一个手臂和腿来搜索元信息?
编辑:
从那以后,我找到了一个插件,它可以进行更好的搜索,名为Relevanssi,AlexanderGieg用自己的代码对其进行了进一步扩展:
add_filter('relevanssi_excerpt_content','wpscproductexcerpt',10,3);
function wpscproductexcerpt($content, $post, $query) {
if ( 'wpsc-product' == relevanssi_get_post_type($post->ID) ) {
$content = $post->post_content . ( !empty($post->post_excerpt) ? " $post->post_excerpt" : '' );
if ( 'on' == get_option('relevanssi_expand_shortcodes') ) {
$content = do_shortcode($content);
} else {
$content = strip_shortcodes($content);
}
// The line below fixes a minor bug in Relevanssi 2.9.14 custom excerpt generating code:
$content = preg_replace("/\t/", ' ', $content);
}
return $content;}
我现在需要把这个扩展得更深一点,因为我是Visser Lab的自定义字段插件用户,以弥补WP eCommerce的不足,并且需要弄清楚如何包含这个插件中的元信息?
非常感谢
发布于 2012-11-22 08:43:29
从结果来看,WP eCommerce使用默认的WordPress查询来显示其搜索结果。这很好,因为这使得修改这个查询非常容易,以满足我们的需要。下面是一个示例代码:
function mySearchFilter($query) {
// is_wp_ecommerce_search() is not an actual function - if you know how to check if the search is from WP eCommerce - you might want to do that, so that you don't modify the normal WordPress search
if ( $query->is_search /* && is_wp_ecommerce_search() */ ) {
$query->set('meta_query', array( array( 'key' => 'custom_key', 'value' => $_GET['custom_key'], 'compare' => 'LIKE' ) ) );
};
return $query;
};
add_filter('pre_get_posts','mySearchFilter');我不确定有一个确切的函数来检查这是否是一个WP eCommerce搜索,这就是为什么&& is_wp_ecommerce_search()被注释掉。
你必须调整:
'key' => 'custom_key'部件-输入您要查找的自定义字段的名称。'value' => $_GET['custom_key'] -输入您要寻找的值。我假设它将来自$_GET参数,但您的情况可能有所不同。'compare' => 'LIKE' -下面的链接将提供有关meta_query参数结构的详细信息,但基本上这将查找与搜索的字段值类似的自定义字段。您可以在meta_query WordPress代码索引页面上找到有关类引用/WP查询查询参数的更多详细信息。
https://stackoverflow.com/questions/13455894
复制相似问题