【问题标题】:Wordpress - display categories in search resultsWordpress - 在搜索结果中显示类别
【发布时间】:2014-05-12 13:37:40
【问题描述】:

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

$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,它会起作用,但不包括类别名称。长查询不起作用。我在这里做错了什么?

【问题讨论】:

    标签: php mysql wordpress


    【解决方案1】:

    我很确定默认 WordPress 搜索包括所有帖子/帖子类型。如果您只想在搜索页面上列出您的类别,您可以使用内置函数,例如 wp_list_categories() WordPress Codex,它拥有您需要的一切。如果你需要,你可以create a search template,如果你需要更多的定制,你可以使用template tag is_search() with pre_get_posts()

    【讨论】:

      猜你喜欢
      • 2019-02-25
      • 2013-01-14
      • 1970-01-01
      • 2023-03-30
      • 2013-01-25
      • 2011-10-12
      • 2017-01-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多