I created a custom taxonomy called people
. In the meantime there are over 2k people available in this taxonomy. Now I want to make it possible to search for a person, e.g. I search for John
, I want to receive all persons with that name. I'm a little bit confused how to archieve this and how to add the taxonomy to the search results.
I create the taxonomy with register_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'
));
Any suggestions?
EDIT:
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
EDIT 2: It seems like I have to do sth. like this
SELECT * FROM wp_terms WHERE name LIKE "%John%"
If I'm totally wrong with this opinion, i would like to here your suggestions.