我正在尝试实现搜索,它将查看自定义分类术语 . 我有自定义类型称为“产品”,自定义分类称为“类型” . 当我使用wordpress标准表单时,除了事实之外,它不会搜索自定义分类术语 .
所以,我需要的是:1 . 通过“m_type”分类术语使WP搜索2.它应该使用术语的“名称”,而不是“slug” .
我试图包含额外的查询变量,使其至少看起来像“slu” .
这段代码:
$wp_query->query['tax_query'] = array(
array(
'taxonomy' => 'm_type',
'field' => 'slug',
'terms' => 'pen'
)
);
生成以下SQL:
SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts INNER JOIN wp_term_relationships
ON (wp_posts.ID = wp_term_relationships.object_id) INNER JOIN wp_postmeta ON
(wp_posts.ID = wp_postmeta.post_id) WHERE 1=1 AND ( wp_term_relationships.term_taxonomy_id
IN (163) ) AND (((wp_posts.post_title LIKE '%pen%') OR (wp_posts.post_content LIKE
'%pen%'))) AND wp_posts.post_type IN ('product') AND (wp_posts.post_status
= 'publish' OR wp_posts.post_author = 1 AND wp_posts.post_status = 'private') AND
(wp_postmeta.meta_key = 'max_price' ) GROUP BY wp_posts.ID
ORDER BY wp_postmeta.meta_value+0 DESC LIMIT 0, 60
因此,基本上它添加了自定义分类,搜索帖子,具有这种分类(* wp_term_relationships.term_taxonomy_id IN(163)*)但实际上从未将分类术语与查询字符串进行比较 .
也许我做错了所有这一切?
1 回答
我正在使用这个SQL查询来获取基于 Headers /分类术语/内容搜索的结果,其中$ search是搜索参数,$ _REQUEST ['post_type']我是p