繁体   English   中英

WordPress-在搜索结果中显示类别

[英]Wordpress - display categories in search results

我有一个搜索结果页面,我需要显示一个类别列表,其旁边有匹配的帖子数(仅包含结果中带有帖子的类别)。 还必须在类别名称中搜索关键字。 实现此目的最方便的方法是什么? 目前我有这个:

$results = $wpdb->get_results( '
SELECT COUNT(*) as count
FROM wp_posts
JOIN wp_term_relationships ON wp_posts.id = wp_term_relationships.object_id
JOIN wp_terms ON wp_term_relationships.term_taxonomy_id = wp_terms.term_id
WHERE post_type = "my_type"
AND (
    post_content LIKE "%'.mysql_real_escape_string($_GET['s']).'%"
    OR post_title LIKE "%'.mysql_real_escape_string($_GET['s']).'%"
    OR wp_terms.name LIKE "%'.mysql_real_escape_string($_GET['s']).'%"
)
AND wp_term_relationships.term_taxonomy_id = 8'

如果我尝试按类别搜索帖子,并且仅加入term_relationships,则可以,但不包括类别名称。 长查询不起作用。 我在这里做错了什么?

我敢肯定,默认WordPress搜索包括所有帖子/帖子类型。 如果您只想在搜索页面上列出类别,则可以使用内置功能,例如wp_list_categories() WordPress Codex ,它具有所需的一切。 如果需要,您可以创建搜索模板 ,如果需要更多自定义,则可以将模板标签is_search()与pre_get_posts()结合使用

我已经在搜索中创建了可以解决此问题的插件“存档页面”。

精简版将搜索直接重定向到存档页面,无论是类别,帖子标签还是作者。

专业版将具有附加选项,可在搜索结果中显示存档页面并添加与存档页面相关的查询。 此外,它还支持自定义分类法和自定义帖子类型档案。

精简版版本的链接: https : //wordpress.org/plugins/archive-pages-in-search-lite/

专业版链接: https : //www.codester.com/items/14787/archive-pages-in-search-pro-wordpress-plugin.html?ref=mkhaledche

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM