我创建了一个名为people
. 与此同时,在这个分类法中有超过2000人可用。现在我想让搜索一个人成为可能,例如,我搜索John
, 我想接待所有有这个名字的人。我有点搞不清楚如何对其进行归档,以及如何将分类添加到搜索结果中。
我使用register\\u taxonomy创建分类法
register_taxonomy(\'people\',\'post\',array(
\'hierarchical\' => false,
\'labels\' => $labels,
\'show_ui\' => true,
\'show_admin_column\' => true,
\'update_count_callback\' => \'_update_post_term_count\',
\'query_var\' => true,
\'rewrite\' => array( \'slug\' => \'people\' ),
\'show_in_rest\' => true,
\'rest_controller_class\' => \'WP_REST_Terms_Controller\'
));
有什么建议吗?
编辑:
SELECT SQL_CALC_FOUND_ROWS wp_posts.*
FROM wp_posts
LEFT JOIN wp_term_relationships
ON ( wp_posts.id = wp_term_relationships.object_id )
LEFT JOIN wp_term_relationships tr
ON wp_posts.id = tr.object_id
INNER JOIN wp_term_taxonomy tt
ON tt.term_taxonomy_id = tr.term_taxonomy_id
INNER JOIN wp_terms t
ON t.term_id = tt.term_id
WHERE 1 = 1
AND ( wp_term_relationships.term_taxonomy_id IN ( 2, 3 ) )
AND ( ( ( wp_posts.post_title LIKE \'%Johnny%\' )
OR ( wp_posts.post_excerpt LIKE \'%John%\' )
OR ( wp_posts.post_content LIKE \'%John%\' ) )
AND ( ( wp_posts.post_title LIKE \'%John%\' )
OR ( wp_posts.post_excerpt LIKE \'%John%\' )
OR ( wp_posts.post_content LIKE \'%John%\' ) ) )
AND wp_posts.post_type = \'post\'
AND (( wp_posts.post_status = \'publish\' ))
OR ( t.name LIKE \'%John%\' )
GROUP BY wp_posts.id
ORDER BY ( CASE
WHEN wp_posts.post_title LIKE \'%John%\' THEN 1
WHEN wp_posts.post_title LIKE \'%John%\'
AND wp_posts.post_title LIKE \'%John%\' THEN 2
WHEN wp_posts.post_title LIKE \'%John%\'
OR wp_posts.post_title LIKE \'%John%\' THEN 3
WHEN wp_posts.post_excerpt LIKE \'%John%\' THEN 4
WHEN wp_posts.post_content LIKE \'%John%\' THEN 5
ELSE 6
end ),
wp_posts.post_date DESC
LIMIT 0, 99
编辑2:看来我必须这样做
SELECT * FROM wp_terms WHERE name LIKE "%John%"
如果我对这个观点完全错误的话,我想听听你的建议。